Как добавить событие GTM к обратному вызову, инициированному после заполнения формы? - PullRequest
0 голосов
/ 02 мая 2019

Я настраиваю отслеживание событий GTM и отслеживание пикселей Facebook для клиента.

Они используют систему CRM с виджетом формы, который встроен в веб-сайт через Javascript.Таким образом, нет прямого способа отслеживания формы.

Их разработчики попросили меня использовать их глобальные переменные, одна из которых позволяет мне добавить обратный вызов, который вызывается при вызове 'formCompleted'.

Пожалуйста, смотрите код ниже.Последняя переменная позволяет мне вводить обратный вызов, но, честно говоря, я понятия не имею, как заставить его запускать событие в Google Tag Manager или Facebook Pixel.

var intouchFormConfig = {
includeCss: true, //s et false to stop the default stylesheet from being loaded
foregroundColour: null, //set to a css colour - e.g. #fff- to override what is
configured on the server
matterGuid: null, // Id of a matter. If this is set the matter will be updated with
the results of this form
bannerUrl: null, //a n image to display at the top of the form
autoActivate: true,//by default the widget will automatically activate,
events: {
activa ted: () => {}, //an optional callback triggered once the widget is
activated
formCompleted: (response) => {}, //an optional callback triggered once a form
inside the widget has been completed by the user
},
};

1 Ответ

0 голосов
/ 02 мая 2019

Общая концепция генерации пользовательских событий в Google Tag Manager (GTM) заключается в том, чтобы вставить переменную event в dataLayer GTM. Вы можете настроить триггеры пользовательских событий в GTM для запуска любых тегов, относящихся к этому событию. Вам необходимо указать название события как Event name в настройках триггера.

Общий синтаксис для этого:

dataLayer.push({
  event: 'myEventName'
});

В вашем случае вам нужно предоставить функцию, которая будет выполнять этот вызов. Вы также можете передать ответ в GTM как переменную dataLayer, если вам нужно использовать его в связи с вашим событием. (Например, проверьте успех, неудачу или любой другой результат.) Таким образом, ваш код должен выглядеть примерно так:

var intouchFormConfig = {
  //your other configuration items

  //events part
  events: {
    activated: () => {},
    formCompleted: (response) => {
      dataLayer.push({
        event : 'intouchFormCompleted',  //an event name you can use in GTM, should be unique to this event
        intouchResponse: response  //optional part, if you need the response in GTM
      })
    }, 
  }
};

Обратите внимание, что в исходном коде есть опечатка (activa ted ключ объекта с пробелом в нем).

Ваш триггер GTM будет выглядеть примерно так, в случае имени события из моего примера: enter image description here

...