Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Checkout Champ is ready for you to add your Google Analytics (Google Tag Manager), Facebook, Sygnal, SnapChat, TikTok, and /or Listrak other pixels.

Edit the funnel’s settings and open the Tracking Pixels section:

...

. Then choose the appropriate tracking service.

...

image-20240801-141941.pngImage Added

Info

Choose how to fire the Purchase event. Purchase events are Javascript events.

You can simply add your GTM, FB Pixel, SnapChat, TikTok, or Listrak Pixel IDs into the provided fields.

You will find additional information below:

Table of Contents

...

Custom Head/Body Tracking Code

These sections can be used to place tracking scripts on all pages of your funnel.

Scripts wrapped in a <noscript> tag cannot be entered here, please use the Global Scripts for these types of scripts or place them directly on the pages.

...

Google

If you add the Tracking Id in the left column, you do not need to add the custom tracking code in the right column. Conversely, if you add the custom tracking code, you do not need to add the Tracking Id.

For Google Analytics Checkout Champ supports both Google Tag Manager (GTM) and G4. For both the following events are fired:

  • Purchase (with an option to fire after initial sale or after all upsells or after each upsell), including

    • order ID

    • total amount

    • currency (G4 only)

    • total tax

    • total shipping

    • coupon code (GTM only)

    • item information

Checkout Champ by default sends only transaction data to Google. If using Tag Manager (GTM) you have an option to also send enhanced conversion data. Use the 2 steps below (do this even if using only the Tracking Id entry).

...

Code Block
languagejs
<script type="text/javascript">
	$(document).ready(function () {
		function getHash(param) {
			var value = param && param.trim(); 
			if (!value) {
				return "";
			}
			return sha256(value);
		}
		try {
			var serializedOrderData = sessionStorage.getItem("orderData");
			if (!serializedOrderData) {
				return;
			}
			var orderDataorderDataTmp = JSON.parse(serializedOrderData);
			var emailAddress = orderDataorderDataTmp.emailAddress;
			var firstName = orderDataorderDataTmp.firstName;
			var lastName = orderDataorderDataTmp.lastName;
			var city = orderDataorderDataTmp.city;
			var country = orderDataorderDataTmp.country;
			var postalCode = orderDataorderDataTmp.postalCode;
			if (gtag && emailAddress && firstName && lastName && city && country && postalCode) {
				gtag("set", "user_data", {
						"sha256_email_address": getHash(emailAddress),
						"address": {
							"address.sha256_first_name": getHash(firstName),
							"address.sha256_last_name": getHash(lastName),
							"city": city,
							"postal_code": postalCode,
							"country": country
						}
				});
			}
		} catch(error) {
			console.log(error);
		}
	});
</script>

...

Google Ads Conversion Tracking

For Google Ads conversion tracking, you can add your Google Ad Words conversion snippet to the Thank You page above the <title> tag, but after the Google tag. In that snippet, you can specify a “value” in the conversion snippet OR dynamically populate the “value” using information passed in the sessions' “orderData”. To correctly collect dynamic conversion data, you must parse orderData from sessionStorage using the correct naming conventions.

For example, one way you could modify the conversion snippet would be to include the order’s “totalAmount” and “orderId”. Be sure to use your own Google Ads AW-CONVERSION_ID/CONVERSION_LABEL in place of the “AW-XXXXXXX/XXXXXXXXXXXXXX” and customize as needed.

Code Block
<script>
 var orderDataTmp = JSON.parse(sessionStorage.getItem("orderData"));
 if(orderDataTmp) {
 var orderValue = orderDataTmp.totalAmount;
 var transactionId = orderDataTmp.orderId;
 gtag('event', 'conversion', {
 'send_to': 'AW-XXXXXXXX/XXXXXXXXXXXXXXXXXXXX',
 'value': orderValue,
 'currency': 'USD',
 'transaction_id': transactionId
 }
 );
 }
</script>

Please read Google’s article on How to Use the Google Tag for Ads Conversion for more information.

To learn more about configuring Google Analytics, see here for more information.

...

Facebook

For Facebook the following events are fired:

...

You can optionally fire the Facebook Conversions API. Enter your access token (be sure to whitelist your domain and generate token by a system user to avoid expiration). The Conversions API fires the same events as the pixel. It can be advantageous when the pixel (client-side) is blocked by the consumer’s browser.

For various Facebook pixels you would need to get the Javascript code from Facebook and paste it into the “Custom Head Tracking Code” section on our side.

...

Sygnal

For Sygnal the following events are fired:

  • ViewContent (presell pages)

  • Lead (when a lead page is submitted)

  • AddToCart (when an item is added to the shopping cart)

  • CustomizeProduct (when variant details are changed by the consumer)

  • InitiateCheckout (when a checkout page loads and there is a card number input on the page)

  • AddPaymentInfo (when a checkout page is submitted with card information)

  • Purchase (with an option to fire after initial sale or after all upsells)

If you wish to fire other Sygnal pixel events, you can use the Custom Head Tracking Code section on the right side of the page.

...

SnapChat

For SnapChat the following events are fired once the cardholder’s email address is known:

  • Page View (all pages)

  • Purchase (with an option to fire after initial sale or after all upsells)

For more information on configuring your SnapChat pixel, please visit the SnapChat resource center, here:
SnapChat Business Help

...

TikTok

For TikTok the only requirement is that the ID is entered here. All remaining configuration is done at TikTok.

Expand
titleIf using a Shopify or TikTok pixel

Shopify TikTok pixels do not allow you to edit the events, you will need to add the scripts manually using your Shopify TikTok pixel ID on each page.

Example:

// BASE CODE TEMPLATE:

<script>
//Part1
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};

//Part 2
ttq.load('YOUR PIXEL ID WILL BE LOCATED HERE');
ttq.page();
}(window, document, 'ttq');
</script>For more event codes visit https://ads.tiktok.com/marketing_api/docs?rid=5ipocbxyw8v&id=1701890973258754

Code Block
// BASE CODE TEMPLATE:

<script>//Part1!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};

//Part 2ttq.load('YOUR PIXEL ID WILL BE LOCATED HERE');ttq.page();}(window, document, 'ttq');</script>

For more event codes visit API Documentation (tiktok.com)

Expand
titleMultiple TikTok Pixels

CheckoutChamp does not limit the number of pixels you can use at a time. You will however need to add them manually and place the correct events on them.

On Part 2 of the code provided by TikTok you will add your pixel id’s.

// BASE CODE TEMPLATE:

<script>
//Part1
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};

Info

On Part 2 you will add your multiple TikTok pixels

//Part 2
ttq.load('YOUR PIXEL ID WILL BE LOCATED HERE');

ttq.load('YOUR PIXEL ID WILL BE LOCATED HERE');

ttq.load('YOUR PIXEL ID WILL BE LOCATED HERE');
ttq.page();
}(window, document, 'ttq');
</script>

For more event codes visit https://ads.API Documentation (tiktok.com/marketing_api/docs?rid=5ipocbxyw8v&id=1701890973258754)

...

Triple Whale

Enable the Triple Whale checkbox to automatically add the Triple Whale script to the funnel. This requires a Shopify plugin attached to the funnel’s campaign.

...

The following information is sent to Listrak on a purchase: email address, first name, last name, order ID, customer ID, order total amount, shipping total amount, tax total amount, and item information (sku, quantity, price).

Custom Head/Body Tracking Code

These sections can be used to place tracking scripts on all pages of your funnel.

...

Place the code directly on the page

...