Set up Snap Pixel with Google Tag Manager

Updated: Monday, November 4, 2024

Import Snap Pixel tag

Download here the Snap Pixel tag from Data Marketing School.

Go to the Templates section of Google Tag Manager. In the Tag Templates section, click on New.

Templates section in Google Tag Manager Web
Templates section in Google Tag Manager Web

Click on the 3 small dots at top right, then on Import.

Import a tag template into Google Tag Manager Web
Import a tag template into Google Tag Manager Web

Select the template.tpl file you’ve just downloaded, then click Save.

Save Snap Pixel tag template to Google Tag Manager Web
Save Snap Pixel tag template to Google Tag Manager Web

Create a new Snap Pixel tag

Go to the Tags section of Google Tag Manager Web. Then click New to create a new tag.

Creating a new tag in Google Tag Manager Web
Creating a new tag in Google Tag Manager Web

Then select the recently imported Snap Pixel tag.

Adding Data Marketing School's Snap Pixel tag in Google Tag Manager Web
Adding Data Marketing School's Snap Pixel tag in Google Tag Manager Web

Set up Snap Pixel tag

Data Marketing School's GTM Snap Pixel tag
Data Marketing School's GTM Snap Pixel tag
  1. Snap Pixel ID: Your Snapchat pixel identifier.
  2. Event Name: The event to send. When this field is set to Inherit from dataLayer, events are mapped from the event name of your dataLayer. See the mapping table from GA4 events to Snapchat events.

Method 1: with standard dataLayer GA4 format

Enter your Snap Pixel ID and select Inherit from dataLayer in the Event Name field.

Unfold the Auto Mapping section and check the Send Ecommerce Data and Send User Data checkboxes.

Snap Pixel tag setup with auto-mapping
Snap Pixel tag setup with auto-mapping

Then trigger the tag on all the events in your dataLayer that you want to send to Snapchat, do not forget page views. In this example, I’m only triggering it on the gtm.init (Initialization - All Pages trigger), view_item_list, add_to_cart and purchase events, but adapt the events listed here to your needs.

Snap Pixel tag trigger configuration with automatic matching
Snap Pixel tag trigger configuration with auto-mapping

Here’s what the tag looks like when configuration via method 1 is complete.

Completed Snap Pixel tag configuration with method 1
Completed Snap Pixel tag configuration with method 1

Method 2: with custom dataLayer format

If your dataLayer is custom, you’ll have to do the mapping yourself between your dataLayer events and the events you’re going to send to Snapchat.

Example with a custom dataLayer event AddToCart.

dataLayer.push({
  event: "AddToCart",
  ecommerce: {
    currency: "EUR",
    value: 30.03,
    items: [
    {
      item_id: "SKU_12345",
      item_name: "Stan and Friends Tee",
      affiliation: "Google Merchandise Store",
      coupon: "SUMMER_FUN",
      discount: 2.22,
      index: 0,
      item_brand: "Google",
      item_category: "Apparel",
      item_category2: "Adult",
      item_category3: "Shirts",
      item_category4: "Crew",
      item_category5: "Short sleeve",
      item_list_id: "related_products",
      item_list_name: "Related Products",
      item_variant: "green",
      location_id: "ChIJIQBpAG2ahYAR_6128GcTUEo",
      price: 10.01,
      quantity: 3
    }
    ]
  },
  user_data: {
    email_address: "John Doe",
    phone_number: "+15551234567"
  }
});

Here’s how to configure the Snap Pixel tag with this dataLayer event.

Snap Pixel tag configuration complete with method 2
Snap Pixel tag configuration complete with method 2

Check implementation with Snap Pixel Helper

The Snap Pixel Helper is a Chrome extension that lets you debug the events you send to Snapchat.

Checking event sending with Snap Pixel Helper extension
Checking sent events with Snap Pixel Helper extension

GA4 mapping tables => Snapchat

dataLayer event mapping table


Name of dataLayer eventName of Snapchat event
gtm.init_consent (Consent Initialization)PAGE_VIEW
gtm.init (Initialization)PAGE_VIEW
gtm.js (Container Loaded)PAGE_VIEW
gtm.dom (DOM Ready)PAGE_VIEW
gtm.load (Window Loaded)PAGE_VIEW
page_viewPAGE_VIEW
view_item_listLIST_VIEW
view_itemVIEW_CONTENT
add_to_wishlistADD_TO_WISHLIST
add_to_cartADD_CART
add_to_wishlistadd_to_cart
add_payment_infoADD_BILLING
purchasePURCHASE
tutorial_completeCOMPLETE_TUTORIAL
level_endLEVEL_COMPLETE
loginLOGIN
loginLOGIN
shareSHARE
sign_upSIGN_UP
unlock_achievementACHIEVEMENT_UNLOCKED

dataLayer parameter mapping table

E-commerce parameters


GA4 e-commerce parameter pathSnapchat parameter name
ecommerce.transaction_idtransaction_id
ecommerce.valueprice
ecommerce.currencycurrency
ecommerce.items.lengthnumber_items
ecommerce.items[item_id]item_ids
ecommerce.items[item_category]item_category
ecommerce.items[item_brand]brands
ecommerce.shipping_tierdelivery_method

User parameters


Parameter pathSnapchat parameter name
user_data.email_addressuser_email
user_data.sha256_email_addressuser_hashed_email
user_data.phone_numberuser_phone_number
user_data.sha256_phone_numberuser_hashed_phone_number
user_data.address.first_namefirstname
user_data.address.last_namelastname
user_data.address.citygeo_city
user_data.address.countrygeo_country
user_data.address.postal_codegeo_postal_code
user_data.address.regiongeo_region

Other parameters


GA4 parameter pathSnapchat parameter name
level_namelevel
search_termsearch_string
sign_up_methodmethod

Didn't find what you were looking for?

Get help from the Data Marketing Club

Join the Data Marketing Club