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

OOPS! The Consumer Signal You Might Be Overlooking in Your Privacy Strategy

The rise of browser-based Opt-Out Preference Signals (yes, OOPS) is quietly reshaping online consent experiences.…

5 days ago

Merkle Named Leading Solution Partner by Contentsquare

We’re proud to announce that Merkle has been honored as the Leading Solution Partner in…

3 weeks ago

Unlock Growth with Amplitude: Feature Flags & Session Replay

Amplitude is one of the most powerful tools available for understanding and improving the customer…

2 months ago

This website uses cookies.