Web Analytics

Code Update: Tracking Traffic from Press Releases in Google Analytics

Back in January 2009, I wrote a post on how to track traffic from Press Releases in Google Analytics. That posts referenced the old synchronous version of the Google Analytics tracking code and needed a code update with the most recent tracking code release by Google, featuring asynchronous code execution.

Please note that I am not going to re-do the entire post, just the code portion.

So here is the code update:

Traditional Snippet (Synchronous):

<script type="text/javascript">
var srcPage = getDomain (document.referrer);
var parameter = get_parameter('id');

function get_parameter(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&#]"+name+"=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.href);
    if( results == null )
      return "";
    else
      return results[1];
}

function getDomain (thestring) {
  var urlpattern = new RegExp("(http|ftp|https)://(.*?)/.*$");
  var parsedurl = thestring.match(urlpattern);
      if( parsedurl == null )
       return "";
      else
        return parsedurl[2];
}

if (parameter == '1')
{
    window.location.hash = "utm_source="+srcPage+"&utm_medium=press_release&utm_campaign=hurricane_katrina";
}
</script>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "https://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>

<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
pageTracker._setAllowAnchor(true);
pageTracker._trackPageview();
} catch(err) {}
</script>

Asynchronous Snippet (NEW):

<script type="text/javascript">
var srcPage = getDomain (document.referrer);
var parameter = get_parameter('id');

function get_parameter(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&#]"+name+"=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.href);
    if( results == null )
      return "";
    else
      return results[1];
}

function getDomain (thestring) {
  var urlpattern = new RegExp("(http|ftp|https)://(.*?)/.*$");
  var parsedurl = thestring.match(urlpattern);
      if( parsedurl == null )
       return "";
      else
        return parsedurl[2];
}

if (parameter == '1')
{
    window.location.hash = "utm_source="+srcPage+"&utm_medium=press_release&utm_campaign=hurricane_katrina";
}
</script>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
  _gaq.push(['_setAllowAnchor', true]);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

Related Posts:

Author

  • Allaedin Ezzedin is a Senior Director at Merkle | Cardinal Path, renowned for his dedication to melding business strategies with technological innovation, particularly in the realm of digital marketing optimization. With an unwavering commitment to enhancing the digital analytics landscape, Allaedin is at the forefront of advocating for Google Analytics as a pivotal enterprise analytics solution.

    View all posts
Allaedin Ezzedin

Allaedin Ezzedin is a Senior Director at Merkle | Cardinal Path, renowned for his dedication to melding business strategies with technological innovation, particularly in the realm of digital marketing optimization. With an unwavering commitment to enhancing the digital analytics landscape, Allaedin is at the forefront of advocating for Google Analytics as a pivotal enterprise analytics solution.

Share
Published by
Allaedin Ezzedin

Recent Posts

Building a Scalable Analytics Program: When to Bring in DXA Tools like Contentsquare

Most analytics programs begin with foundational platforms like Google Analytics or Adobe Analytics. These tools…

2 weeks ago

Mastering GA Custom Metrics – Best Practices & Pitfalls to Avoid

In our previous post, we covered why custom metrics in GA matter and how to…

3 weeks ago

Unlocking User Behavior: The Power of Session Replay + AI Analytics

In today’s fast-paced digital world, marketing and product teams don’t just need data—they need answers,…

3 weeks ago

This website uses cookies.