The Blog

How to Track Snapchat Campaigns in Google Analytics

Snapchat: the kids love it and brands don’t quite know what to do with it.

As more and more brands begin to test the waters a common issue has arisen: it blows up Google Analytics reporting!
What we tend to see is that page views for landing pages and product pages being used for Snapchat Ads go through the roof and high bounce rates accompanying them. So much so that for many brands it is effecting site-wide reporting numbers.

The issue lies in how pages are displayed, within Snapchat ads, causing impressions to be tracked as full-on pageviews.

When a Snapchat Ad is shown to a user, the landing page on the brand site is pre-loaded in the background in either a mobile Safari (iOS) or mobile Chrome (Android) browser. This is great for the user experience, as soon as the user swipes up on the ad the page is there ready for them.

For Google Analytics tracking, however, this is a nightmare.

Due to the page being pre-loaded in a mobile browser, all of the code on the page is fully loaded at the time of the Ad impression, including the scripts for Google Analytics. When this happens, a pageview (and any event that you may have firing on page load or shortly thereafter) is sent. The result? Inflated pageviews and a super high bounce-rate.

So how do we fix this you ask?

By leveraging a slick browser API and Google Tag Manager of course!

When the page is pre-loaded in the background of the Snapchat ad, the mobile browser is able to tell that the page is not viewable. To leverage this, we’ll use what is called the Page Viewability API for web browsers.

While this may sound complicated, it is actually rather simple. A few quick scripts in Google Tag Manager and a slight Google Analytics tag modification and you’ll be up and running within minutes. Luckily for us, Simo Ahava wrote a great guide for leveraging the Page Viewability API back in 2014.

Basically what this does is uses the Visibility API to tell us if a page is viewable or not. When the page is not viewable, we use an exclusion trigger within GTM to block the Google Analytics tag from firing. Once a user swipes up on the ad, and the page does become viewable for them, the same method will tell us that the page is in view and the exclusion will be removed from the tag. This results in our Google Analytics tag firing.

Use the above approach to see *true* pageviews within Google Analytics resulting from our Snapchat ads and get an accurate view of the bounce rate for these users.

Special Pro Tip:

For many, it may make sense to begin leveraging the Page Visibility API for all page tracking within Google Analytics. If this is the case, simply apply this methodology to your regular Google Analytics pageview tag and have the added benefit of seeing true pageviews across all instances (for example if a user opens a page in another tab this would also apply)

If you are not ready to make that sort of commitment and want to keep consistency with the current setup BUT are planning to run a number of campaigns in Snapchat Ads, it makes sense to go with a slightly modified approach. For this we will create unique pageview tracking specifically for pages used for our Snapchat Ads.

As a strong user of Google Analytics, you are already following the best practice of using UTM tagging to denote the source/medium of traffic. For the purpose of Snapchat ads you might use something like a ‘Source’ of ‘Paid Social’ and a ‘Medium’ of ‘Snapchat’. Leverage this fact within a conditional trigger for just Snapchat traffic.

Here’s how it will work:

Create an exact copy of your current Google Analytics Page View tag

Name it “Snapchat Pageview”

Create a new custom js variable named “snapchatWebview” in GTM to return ‘true’ if the URL contains the UTM parameters you are using to denote traffic from Snapchat. Here’s a quick example:

Create a new trigger for “Snapchat Page View”

Use the logic of “snapchatWebview” ‘equals’ “true”

Apply the new “Snapchat Page View” trigger as an exclusion for the regular Google Analytics Page View tag and as the firing trigger for the new “Snapchat Page View” tag

Apply the necessary modifications to the “Snapchat Page View” tag to only leverage the Page Visibility API in those instances of traffic coming from Snapchat

All done! Good luck with the Snapchat campaign and rest assured that you have complete and accurate tracking within Google Analytics.