与salesforce集成谷歌adwords跟踪

时间:2016-01-06 18:01:20

标签: javascript google-analytics salesforce

我试图将google adwords跟踪与salesforce整合在一起 https://www.e-nor.com/blog/google-analytics/integrate-salesforce-and-google-analytics

我在salesforce中创建了隐藏字段,并将代码添加到表单和js脚本以捕获值但我遇到问题我没有收到任何数据

test.php?utm_source=google&utm_medium=CPC&utm_campaign=test&utm_term=test

<input type="hidden" name="medium" id="medium" value="" />
<input type="hidden" name="source" id="source" value="" />
<input type="hidden" name="campaign" id="campaign" value="" />
<input type="hidden" name="term" id="term" value="" />
<script type="text/javascript">
var z = _uGC(document.cookie, '__utmz=', ';');
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=', '|');
if (gclid !="-") {
 source = 'google';
 medium = 'cpc';
}

var csegment = _uGC(document.cookie, '__utmv=', ';');
if (csegment != '-') {
 var csegmentex = /[1-9]*?\.(.*)/;
 csegment = csegment.match(csegmentex);
 csegment = csegment[1];

} else {
 csegment = '';
}

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;
}
document.getElementById("medium").value =medium; /* Campaign_Medium */
document.getElementById("source").value =source; /* Campaign_Source */
document.getElementById("campaign").value =campaign; /* Campaign_CampaignName */
document.getElementById("term").value =term; /* Campaign_Term */
</script>

2 个答案:

答案 0 :(得分:0)

好的,如果我理解正确,您正在尝试执行网络到潜在客户流程,并且您想要捕获广告系列信息。

我认为您当前的方法存在两个主要缺陷:当前版本的Google Analytics(Universal Analytics,它使用analytics.js跟踪库)不评估客户端的广告系列信息,也不存储在cookie(UA使用仅包含客户端ID的单个cookie)。

但即使这样做,也可能无法帮助您处理Adwords数据。启用自动标记功能非常好,即使使用旧的Google Analytics代码,您也无法获得Adwords的广告系列信息。 Adwords使用Google Click ID或gclid,只有在GA检索到来自关联的Adwords帐户的信息后,才会将其解析为可读的广告系列参数;在客户端,您只能读取对您没有帮助的gclid参数。

所以我建议一种不同的方法,只要你不需要实时数据就可以正常工作,并且只要你准备做一些服务器端编程而不是Javascript(它根本无法做你想做的事情)。它基本上是这样的:

您可以只为潜在客户发送一个唯一ID,而不是将广告系列数据与您的Web-To-Lead表单一起发送,并存储在Salesforce的自定义字段中。您可以通过将点击事件附加到提交按钮(或将事件提交到表单),将相同的ID作为之前在点击级别范围内创建的自定义维度发送到Google Analytics,发送Google Analytics事件并将ID包含为自定义尺寸。

Google Analytics需要一些处理时间,所以要等到第二天。届时,GA会将Adwords点击ID解析为可读的来源/媒体/广告系列参数(如果您需要,还可以使用术语和内容,并且会导入与Adwords相关的指标)。

然后,您可以查询Google Analytics Reporting API,以使用您的自定义ID和广告系列信息从GA中检索提交事件。然后,您通过Salesforce API将广告系列数据发送到SF,并将其存储在您的潜在客户实体的自定义字段中。定期运行脚本一次,它将使用GA中的数据更新所有潜在客户。

最大的缺点可能是API访问并非适用于所有Salesforce版本。根据此知识库文章,API访问在Enterprise / Unlimited / Performance和Developer版本中启用,并且可以在专业版中支付费用。

事实证明,我不可能将整个过程的指令塞进stackoverflow帖子,所以我写了一个涵盖所有步骤的教程。这需要一些服务器端编程 - 本教程使用python,它应该包含足够的信息以使程序运行,即使你不了解Python。它分为几个部分,因此您可以跳过您已熟悉的部分。

可能会删除链接以进行自我宣传(它们会导致我的博客),但即使这样,这篇文章也应该让您了解如何解决问题。

答案 1 :(得分:-1)

我不确定您是否使用正确的代码和正确的顺序来执行此操作,请检查my post here并使用与跟踪源代码,媒介,广告系列和术语相同的代码和说明,我完全经过测试,效果很好。

您的方法是正确的,但是如果这是您的着陆页test.php?utm_source = google&utm_medium = CPC&utm_campaign = test&utm_term = test,那么我不确定您是否在尝试创建cookie之前就尝试读取它们。尝试填充隐藏字段的同一页面上,请确保生成Cookie的Javascript代码/函数(函数_uGC)在尝试填充字段的代码之前得到执行

相关问题