PRODUCT
Follow

Purpose

This article will go over “discrepancy” investigations between Sizmek DSP and Google Analytics (GA). Keep in mind that Google Analytics tracks and reports on web-based traffic and is not an equivalent to DSP reporting. Because of the difference in metrics, definitions, and scope it is never expected that GA data will exactly match Sizmek DSP data. It is also not expected that data in GA is indicative of Sizmek DSP media as a whole as it is only able to track a subset of overall media performance. With that being said, Sizmek DSP pixel fires can be loosely compared to view trends in activity from users that land on a client’s site after clicking on a Sizmek DSP served ad.

There are three main purposes of this article:
  1. Preparing you with responses as to why Sizmek DSP and Google Analytics cannot be compared 1:1
  2. Outlining necessary implementation on the landing page and Sizmek DSP ad(s)
  3. Detailing troubleshooting steps for a "discrepancy" investigation using our closest metric, pixel fires, to a GA session.
 

Context

Google Analytics Implementation in Sizmek DSP

For activity from Sizmek DSP media to be distinguishable from overall traffic in Google Analytics, the clickthrough URLs of Sizmek DSP ads must include at least one of the five Google UTM parameter(s). It is recommended that one of these parameters has a declared value that includes ‘sizmek’. More information on how to build a URL with a UTM parameter here.

Consider the following URL:

https://www.example.com

In order to distinguish users who landed on a page after clicking on a Sizmek DSP ad from other sources, the UTM Source parameter can be used to declare that the source of a user is Sizmek by adding the following to the clickthrough URL:

https://www.example.com/?utm_source=sizmek

A filter in Google Analytics can then be used to bucket users who landed on the page after clicking an ad served by Sizmek DSP by slicing by source equals ‘sizmek’. In general, it does not matter which parameter is used as long as the filter settings in GA match the UTM implementation (i.e. if using utm_campaign=sizmek, filter by campaign equals ‘sizmek’). Google Analytics calls these filters "segments" in it's UI. A client can further slice traffic by utilizing multiple UTM parameters to their preference, but that is optional. A common example is adding another UTM parameter that differentiates the Sizmek DSP campaign when an advertiserhas multiple campaigns leading to the same landing page.

Scope of Google Analytics Traffic Buckets

Since a UTM parameter with a value that denotes a user originated from a Sizmek DSP served ad is required for Google Analytics to bucket this data, it then follows that GA only has the ability to track users who navigated to the site by clicking on a Sizmek DSP served ad. This is again because UTM parameters must be present in the URL a user lands on, which means they must be present in the clickthrough URL. A user who views a Sizmek DSP served ad, does not click, and then navigates to the landing URL themselves will not be bucketed under sizmek in GA because the UTM parameters will not be present.

We can replicate this described subset of overall Sizmek DSP traffic by pulling pixel fires which include the appropriate UTM parameter in the URL.
 

Landing Page Fires vs GA Sessions

A Session in Google Analytics is defined as “The period of time a user is active on a site or app. By default, if a user is inactive for 30 minutes or more, any future activity is attributed to a new session. Users that leave your site and return within 30 minutes are counted as part of the original session.”

The key difference is that if a user lands on the landing page and navigates to 5 different pages within 30 minutes, GA would count that as 1 session while Sizmek DSP would count that as 6 pixel fires (under the assumption that a pixel is implemented on all pages). Because of this, only data from the immediate landing page after clicking a Sizmek served ad can be analyzed. In other words, all reports used for this investigation must be conditioned to only include data from the immediate landing page.
 

Troubleshooting "Discrepancy"

Prerequisites

  1. Google Analytics report showing traffic data from Sizmek on landing page in question
  2. Screencap of Google Analytics View
  3. Screencap of Google Analytics filter settings
  4. Screencap of Google Analytics data large enough to include the filter (segment) and date range used
  5. Sizmek DSP pixel id that is implemented on the landing page
  6. Sizmek DSP Campaign ID
  7. Ad id(s) running on the Sizmek DSP campaign during dates in question

Troubleshooting Steps

  1. Confirm the clickthrough of the ad id(s) in question contain a UTM parameter and value that denotes sizmek. For HTML or VAST ads, preview and click on the ad to confirm this as the clickthrough is not explicitly set in DSP.
  2. Use Checking Pixel Implementation to confirm the pixel is firing properly on the landing page.
  3. Run the following HIVE query to pull pixel fires on the landing page where the appropriate UTM parameter and value are set:
    select
        data_date,
        url,
        sum(1) as fires
    from
        actions
    where
        conversion_action_id = INSERT_PIXEL_ID
        and data_date >= YYYYMMDD
        and data_date <= YYYYMMDD
        and url LIKE '%landingPage.com%' --insert the landing url
        and url LIKE '%utm_source=sizmek%' -- insert the UTM param & value used in clickthrough URL
    group by
        data_date,
        url
  4. Using the results from step (3), confirm that the pixel has been implemented on the landing page for the entirety of the dates in question
  5. For Image or Site-Served Video ads, confirm UTM parameters were present in the clickthrough URL of the ad id(s) for the entirety of the dates in question with the following Vertica query:
    select
        last_modified_time,
        advertisement_id,
        name,
        click_through_url
    from
        rfi_meta_data.rfi_advertisement_version
    where
        advertisement_id IN (
            INSERT_AD_IDs
        )
  6. For third party HTML ads, since the clickthrough URL is controlled by the ad server, confirm with client that there have been no changes to the clickthrough URL. As a gut check, run the following Vertica query to view the change history of the landing URL. Note that the landing URL is automatically set for audit reasons and may not reflect the clickthrough URL exactly, so take the results with a grain of salt.
    select
        last_modified_time,
        advertisement_id,
        name,
        landing_url
    from
        rfi_meta_data.rfi_advertisement_version
    where
        advertisement_id IN (
            INSERT_AD_IDs
        )
    
  7. Verify that the Google Analytics View used is “All Web Site Data” to rule out that view level setting are filtering out Sizmek traffic
  8. Verify that the Google Analytics filter (segment) settings are correct. Keep in mind that if multiple Sizmek DSP campaigns are leading to the same landing URL, client will also need a UTM parameter value that differentiates these two campaigns in addition to just denoting sizmek
    • Example filter if UTM parameter used is utm_source=sizmek
  9. Verify the correct view, date range, filter (segment), and dimension are used to confirm client is looking at the appropriate dataset. The dimension should be set to the UTM parameter used (source, campaign, medium, etc)
    • Example screen cap highlighting areas to look to confirm above:
 
If the cause of "discrepancy" is still unknown after following the troubleshooting steps that ensure set up is correct, communicate to client that because of the difference in scope and and metric definitions we do not have the ability to completely resolve.
Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments