gtag Linker не работает на JS form.submit () - PullRequest
0 голосов
/ 23 апреля 2019

Я использовал правильные теги Google, чтобы включить междоменное отслеживание. Когда форма отправляется нажатием на кнопку отправки, ?ga=... будет добавлено к целевому URL, но не будет добавлено, если я вызову событие отправки JS.

Код выглядит следующим образом:

<head>
    <script>
        //All other common JS code exist
        gtag('set', 'linker', {
            'domains': ['example.com'],
            'decorate_forms': true
        });
        gtag('config', 'UA-...');
    </script>
</head>
<body>
    <form method="POST" action="https://example.com/a/b">
        <button type="submit">Submit</button>
    </form>
    <button id="bt">Click to submit form using JS</button> 
    <script>
        $(document).on('click', '#bt', function(e){
            $('form').submit();
        });
    </script>
</body>

Если я добавлю кнопку отправки в форму и нажму на нее, получатель будет выглядеть примерно так: https://example.com/a/b?_ga=.... Однако когда я отправляю форму через JS, целевой URL-адрес аналогичен действию формы без приложения GA.

Я должен отметить, что я использую gtag, а не GTM.

1 Ответ

0 голосов
/ 24 апреля 2019

Это может быть решено двумя различными способами:

Метод 1 Мы можем изменить триггер отправки на триггер щелчка на кнопке отправки.Не знаю почему, но это решает проблему:)

$(document).on('click', '#bt', function(e){
    $('form button[type="submit"]').trigger('click');
});

Метод 2 Мы можем обрабатывать все, что захотим, в событии submit вместо события click на какой-то другой кнопке, другойчем отправить.

$(document).on('submit', 'form', function(e){
    //Do your stuff and handle the event
    return true;
});

Хотя проблема, кажется, решена, главный вопрос все еще существует, и, похоже, он указывает на потенциальную ошибку для gtag или jquery form.submit().Поэтому, если вы можете предоставить какое-либо решение или ответ на открытый вопрос, продолжайте и опубликуйте свой пост, и я сделаю ваш ответ правильным.

...