Google Tag Manager
GTM
https://tagmanager.google.com/
Google Tag Manager is a site container used for storing and triggering scripts.
These then can be used for tracking.
Systems
Below are links to pages for different systems.
These pages will include the methods used for installing the Tag Manager and the Conversion Value tracking.
| Self-Host System | On-site Builder Systems | Chat Systems |
|---|---|---|
| CS-Cart | Bigcommerce | CollectChat |
| Joomla | Ecwid | HubSpot Chat |
| Magento 1.x | EKMPowershop | Jivo |
| Magento 2.x | MyshopBlocks | LiveChat |
| OpenCart | Shopify | Tawk |
| Prestashop | Squarespace | Tidio |
| Wordpress | Wix | ZenDesk |
| X-Cart | Yell | Zoho |
| Zen Cart |
Useful Info
Generic jQuery Form Listener
If there is no instructions in the wiki for a particular system and/or plugin and the form uses Ajax to submit,
It may be worth trying this generic form listener.
depending on what the jQuery is called when initialized you may need to change "jQuery" to "$" in the code below.
create a custom HTML tag and change the index URL to what the URL is submitting to in the Ajax form.
<script>
jQuery(document).ready(function() {
jQuery( document ).ajaxSuccess(function( event, xhr, settings ) {
if (~settings.url.indexOf("/contact/form/process/")) {
var dataLayer = window.dataLayer || [];
dataLayer.push({'event' : 'contact-form-submitted'});
}
});
});
</script>
note: the form must be using the actual jQuery's Ajax method to perform the request for this to work
Unique Page Views
You can track unique page views by storing a value in the sessionStorage variable. This can be useful for tracking forms where only a thank you page is available track.
Create a tag that only fires on the page you want to track
<script>
var gtm_fs_count = 1;
if (sessionStorage.gtm_fs_count) {
gtm_fs_count = gtm_fs_count+1;
sessionStorage.setItem("gtm_fs_count", gtm_fs_count);
} else if(!sessionStorage.gtm_fs_count) {
sessionStorage.setItem("gtm_fs_count", gtm_fs_count) ;
}
</script>
Create a custom JS variable to retrieve the value:
function() {
return parseInt(window.sessionStorage.gtm_fs_count)
}
Then update the trigger to the variable is less than 2 as well as its existing conditions