SiteCatalyst Finance Fundamentals: External Campaign Performance (part 1)
Welcome back to the SiteCatalyst Finance Fundamentals blog series. In this series we are discussing the implementation basics and example analysis of each fundamental solution that Financial Services customers should consider leveraging. Stay tuned and please feel free to contribute your thoughts/experience as we discuss each solution.
The bread and butter of SiteCatalyst is measuring the effectiveness of campaigns against downstream conversions. With this fundamental (and applicable downstream conversions) implemented correctly, organizations can understand the effectiveness of external marketing campaigns on driving both traffic and conversions. Today’s post will focus on implementation best practices and a future post will cover reporting and analysis tips.
Fundamental Implementation
At the most basic level, this solution leverages one SiteCatalyst variable: the Campaign Tracking Code (aka s.campaign). The default setting for this variable is last touch allocation and seven day duration. In financial services, I often see clients extend the duration up to 30 days and in some rare cases 60 or 90. Generally I’d say 14 to 30 days is the right range, since the further you go out, the less relevant the campaign is to the downstream conversion.
Campaign tracking starts with ensuring that the s_code is configured to find a specific query string parameter and assign it to s.campaign. This is typically done with the getQueryParam plugin. Generally speaking, the s_code would also be configured to dedupliate click-throughs with the getValOnce plugin. Usually, this code is setup for you by your Adobe implementation consultant and it might look something like this:
/*External Campaigns*/
if(!s.campaign) s.campaign=s.getQueryParam(‘s_cid’)
s.campaign=s.getValOnce(s.campaign,’gvo_campaign’,0)
In this code “s_cid” is the query string parameter used for external campaign tracking. If you would prefer to use another parameter, it is as easy as swapping this out.
Once the s_code has been configured, then the next step is to tag all external marketing campaigns that drive traffic to your website with tracking codes. Every email, paid search, offsite banner, social media link, offline vanity URL redirect, etc. should be tracked with a unique tracking code. The more granular the code, the more granular the reporting can be, but the more maintenance will be required for managing the codes. Consistency is king here, as untagged campaigns will not show up in the reporting and miss-tagged campaigns can impact data quality.
For example, let’s say that I wanted to promote this blog post through ~~~~LinkedIn, as well as emailing it out to a handful of my colleagues. To measure the effectiveness of these two campaigns, I would assign each one a unique tracking code and embed that tracking code in the URL of the link to the page. The URLs would look something like this.
On LinkedIn:
http://blogs.adobe.com/digitalmarketing/ analytics/sitecatalyst-finance-fundamentals-external-campaign-performance-part-1/?s_cid=sm-tcsffecp11
In the email:
In these URLs, “sm-tcsffecp11” and “em-tcsffecp12” are my tracking codes. s_cid matches the query string parameter configured in the s_code. When these URLs are present, the s_code will identify the s_cid query string, and pull the tracking codes into s.campaign.
It isn’t uncommon to have thousands and thousands of tracking codes in a fully implemented system. This can pose a real challenge in managing the codes, the metadata, and reporting. SAINT classifications help immensely to simplify the reporting aspect, but there still needs to be a process/system for managing the tracking codes and importing their metadata to SAINT. Currently my favorite solution for this is the SAINT Bernard tool that was developed last year by Adobe’s Engineering Services team.
Common Pitfalls
- Inconsistent implementations: It isn’t uncommon for a Financial institution to have excellent campaign tracking on paid search and banner ads, but completely miss tracking codes on monthly statement emails (yes, those links in the monthly statement are driving visitors to your site, and are therefore considered external marketing activities, even if the goal might be different from more traditional marketing efforts).
- Mixing external and internal campaigns: I’ve seen implementations where the same query string parameter and SiteCatalyst variable is used for tracking external (offsite) campaigns and internal (onsite) campaigns. When this happens, the internal campaigns overwrite external campaigns. This results in understating the value of external campaigns. Best practice implementations will use a different query string parameter and a different eVar for tracking the internal campaigns.
- Not deduplicating click-throughs: To me, having an accurate click-through metric is very important in a basic implementation. Deduplicating click-throughs using the getValOnce plugin mentioned above ensures that reloading the landing page or clicking on the back button to the landing page don’t inflate the click-through count. In my next post, I’ll go into details on using click-throughs instead of visits or visitors for conversion rates.
Advanced Implementation
There are a number of advanced implementation tactics. Today, I will briefly touch on just two of them.
- Marketing Channels: While tagging all external campaigns that you can is a prerequisite for effective external campaign reporting, there will be channels that you cannot tag (e.g. natural search, natural social media, and natural referrers). The marketing channels solution provides a method to identify these untaggable “natural” channels and provides a more holistic view of reporting on all sources of traffic to your website. Detailed documentation on leveraging Marketing Channels can be found here.
- Cost Metrics: Just like capturing the estimated value of a conversion (or importing value data via transaction IDs) can provide a better numerator for evaluating campaign performance, importing the cost of a campaign can also provide a better denominator. The marketing channels solution provides a mechanism for importing cost/budget data for each marketing channel. Alternatively, data sources can be used to upload this data to individual tracking codes.
Conclusion
Campaign tracking is one of the highest-value optimization points that can be done in SiteCatalyst, and implementing correctly gives lots of potential for upside. We have covered the implementation basics in this post. In the next post, we will go over the reporting/analysis benefits and examples available from this solution.
Have a question about anything related to SiteCatalyst for the Financial Services industry? Do you have any tips or best practices to share? If so, please leave a comment here or send me an email at tucker (at) adobe.com and I will do my best to answer it on this blog! (Don’t worry – I’ll keep your name and company name confidential).