Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ryanpraski/c6041906818ccff9bba46ce8a856236f to your computer and use it in GitHub Desktop.
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…
<!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