Last active
January 8, 2020 23:09
-
-
Save ryanpraski/c6041906818ccff9bba46ce8a856236f to your computer and use it in GitHub Desktop.
Sample Salesforce web-to-lead form that captures Adwords GCLID in a hidden form field & Google Analytics Visitor ID in another hidden form field. Make sure to replace xxxxx, yyyyy, zzzzz with your specific Salesforce field values. Include your Google Analytics Tracking ID. Create a User Scope custom dimension in your Google Analytics property Ad…
This file contains 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
<!DOCTYPE html> | |
<html> | |
<head> | |
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"> | |
<script> | |
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | |
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | |
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | |
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); | |
ga('create', 'UA-XXXXX-Y', 'auto'); | |
ga(function(tracker) { | |
var clientId = tracker.get('clientId'); | |
tracker.set('dimension100',clientId); | |
}); | |
ga('send', 'pageview'); | |
</script> | |
</head> | |
<body> | |
<form action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST"> | |
<script> | |
window.onload = function getGclid() { | |
document.getElementById("xxxxx").value = (name = new | |
RegExp('(?:^|;\\s*)gclid=([^;]*)').exec(document.cookie)) ? | |
name.split(",")[1] : ""; | |
document.getElementById("zzzzz").value = (name = new | |
RegExp('(?:^|;\\s*)_ga=([^;]*)').exec(document.cookie)) ? | |
name.split(",")[1].split(".").slice(2).join(".") : ""; | |
} | |
</script> | |
<input type=hidden name="oid" value="yyyyy"> | |
<input type=hidden name="retURL" value="http://"> | |
<label for="first_name">First Name</label><input id="first_name" maxlength="40" name="first_name" size="20" type="text" /><br> | |
<input id="xxxxx" name="xxxxx" type="hidden" /><br> | |
<input id="zzzzz" name="zzzzz" type="hidden" /><br> | |
<input type="submit" name="submit"> | |
</form> | |
<script type="text/javascript"> | |
function setCookie(name, value, days){ | |
var date = new Date(); | |
date.setTime(date.getTime() + (days*24*60*60*1000)); | |
var expires = "; expires=" + date.toGMTString(); | |
document.cookie = name + "=" + value + expires; | |
} | |
function getParam(p){ | |
var match = RegExp('[?&]' + p + '=([^&]*)').exec(window.location.search); | |
return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); | |
} | |
var gclid = getParam('gclid'); | |
if(gclid){ | |
var gclsrc = getParam('gclsrc'); | |
if(!gclsrc || gclsrc.indexOf('aw') !== -1){ | |
setCookie('gclid', gclid, 90); | |
} | |
} | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment