Jeżeli klient ma kilka formularzy przy użyciu wytyczki WordPressa Contact Form 7 to trudno śledzić, który został wybrany a używając opcji „Przesłanie formularza” w regule nie łapie poszczególnych tylko wszystkie i nie można rozdzielić tego.
W GMF tworzymy nowy tag niestandardowy kod HTML z regułą uruchamiania all pages
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
window.dataLayer.push({
"event" : "cf7submission",
"formId" : event.detail.contactFormId,
"response" : event.detail.inputs
})
});
</script>
później musimy sprawdzić stronę w podglądzie Debugowania gtm’a, przesyłamy przykładowe dane w formularzu i sprawdzamy event cf7submission i zakładkę Data Layer i interesuje nas formId
później tworzymy zmienną w GTM typ „Zmienna warstwy danych” aby odczytać id formularza z CF7 (nie można inaczej tego sczytać) np „data layer variable – Form id”
w ostatnim kroku tworzymy nowy tag przesyłający formularz typ zdarzenie GA4 lub UA i konfigurujemy jak normalny cel
tworzymy nową regułę uruchamiającą typu zdarzenie niestandardowe z nazwą zdarzenia cf7submission i ze zdarzeniem „data layer variable – Form id” zawiera formId (numer, który sprawdziliśmy z Data layer)
Po tym wszystko można sprawdzić, czy wszystko działa w Tag Assisant (Podgląd) i czy nowe tagi działają
na tych artykułach jest bardziej szczegółowo opisane to wszystko:
- https://www.analyticsmania.com/post/contact-form-7-event-tracking-with-google-tag-manager/
- https://www.analyticsmania.com/post/pull-data-from-data-layer-google-tag-manager-tutorial/