Created
October 24, 2012 21:40
-
-
Save nelsonJM/3949090 to your computer and use it in GitHub Desktop.
JS: GA Cookie Script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <script type="text/javascript"> | |
| var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); | |
| document.write("<script src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'>" + "</sc" + "ript>"); | |
| </script> | |
| <script type='text/javascript'> | |
| var pageTracker = _gat._getTracker("UA-XXXXXXX-X"); | |
| pageTracker._trackPageview(); | |
| // | |
| // This is a function that I "borrowed" from the urchin.js file. | |
| // It parses a string and returns a value. I used it to get | |
| // data from the __utmz cookie | |
| // | |
| function _uGC(l,n,s) { | |
| if (!l || l=="" || !n || n=="" || !s || s=="") return "-"; | |
| var i,i2,i3,c="-"; | |
| i=l.indexOf(n); | |
| i3=n.indexOf("=")+1; | |
| if (i > -1) { | |
| i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; } | |
| c=l.substring((i+i3),i2); | |
| } | |
| return c; | |
| } | |
| // | |
| // Get the __utmz cookie value. This is the cookies that | |
| // stores all campaign information. | |
| // | |
| var z = _uGC(document.cookie, '__utmz=', ';'); | |
| // | |
| // The cookie has a number of name-value pairs. | |
| // Each identifies an aspect of the campaign. | |
| // | |
| // utmcsr = campaign source | |
| // utmcmd = campaign medium | |
| // utmctr = campaign term (keyword) | |
| // utmcct = campaign content | |
| // utmccn = campaign name | |
| // utmgclid = unique identifier used when AdWords auto tagging is enabled | |
| // | |
| // This is very basic code. It separates the campaign-tracking cookie | |
| // and populates a variable with each piece of campaign info. | |
| // | |
| var source = _uGC(z, 'utmcsr=', '|'); | |
| var medium = _uGC(z, 'utmcmd=', '|'); | |
| var term = _uGC(z, 'utmctr=', '|'); | |
| var content = _uGC(z, 'utmcct=', '|'); | |
| var campaign = _uGC(z, 'utmccn=', '|'); | |
| var gclid = _uGC(z, 'utmgclid=', '|'); | |
| var cleanCampaign = campaign.replace(/%20/g, ' '); | |
| var cleanKeywords = term.replace(/%20/g, ' '); | |
| // | |
| // The gclid is ONLY present when auto tagging has been enabled. | |
| // All other variables, except the term variable, will be '(not set)'. | |
| // Because the gclid is only present for Google AdWords we can | |
| // populate some other variables that would normally | |
| // be left blank. | |
| // | |
| if (gclid !="-") { | |
| source = 'google'; | |
| medium = 'cpc'; | |
| } | |
| // Data from the custom segmentation cookie can also be passed | |
| // back to your server via a hidden form field | |
| var csegment = _uGC(document.cookie, '__utmv=', ';'); | |
| if (csegment != '-') { | |
| var csegmentex = /[1-9]*?\.(.*)/; | |
| csegment = csegment.match(csegmentex); | |
| csegment = csegment[1]; | |
| } else { | |
| csegment = '(not set)'; | |
| } | |
| // | |
| // One more bonus piece of information. | |
| // We're going to extract the number of visits that the visitor | |
| // has generated. It's also stored in a cookie, the __utma cookis | |
| // | |
| var a = _uGC(document.cookie, '__utma=', ';'); | |
| var aParts = a.split("."); | |
| var nVisits = aParts[5]; | |
| function populateHiddenFields(f) { | |
| f.LEADCF7.value = source; | |
| f.LEADCF8.value = medium; | |
| f.LEADCF9.value = cleanCampaign; | |
| f.LEADCF10.value = cleanKeywords; | |
| f.LEADCF11.value = content; | |
| return false; | |
| } | |
| </script> | |
| <?php } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment