如何使用 Google Analytics 跟踪 Facebook Instant Articles 的内容统计信息
How to track content Statistics for Facebook Instant Articles with Google Analytics
您好,我们已经在
脸书
Facebook 面向出版商的即时文章功能(目前主要在 2016 年 3 月 30 日在 FB iOS 应用上推出)
允许通过 Google 分析代码进行跟踪。
但是,即使按照说明实施了 GA 代码,我们也无法找到推荐人或
GA 中 FB Instant Articles 的其他信息。
谁能帮助我了解在 GA 中究竟在哪里可以找到有关 Facebook Instant Articles 内容消费的信息?
它会显示为推荐来源还是主机名?
Instant Articles 在 FB 内打开。
根据他们的文档https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCampaigns#generalCampaign可以通过分析脚本设置来源、媒介和标题。需要设置标题,因为FB应用程序上IA的页面标题为空。
请注意代码中的大写字母应该根据您的静态或动态值进行更新。
<figure class="op-tracker">
<iframe hidden>
<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','//www.google- analytics.com/analytics.js','ga');
ga('create', 'ANALYTICS ID', 'auto');
ga('require', 'displayfeatures');
ga('set', 'campaignSource', 'Facebook');
ga('set', 'campaignMedium', 'Social Instant Article');
ga('set', 'title', 'POST TITLE OR THE TITLE YOU WANT');
ga('send', 'pageview');
</script>
</iframe>
</figure>
再次请注意,大写的单词将替换为您的实际值。好好享受。
我运行遇到了同样的问题。在这里起作用的是:
URL to source of analytics code
If your analytics code can be served directly from a specific URL, you
can specify the URL using the src attribute on the element.
<figure class="op-tracker">
<iframe src="https://www.myserver.com/trackingcode"></iframe>
</figure>
(Source: https://developers.facebook.com/docs/instant-articles/reference/analytics)
我现在唯一不知道的是:如果我使用extended Analytics code 如何拉取页面标题?
这似乎是一个常见问题,我将尝试在此处提供更多信息:
首先,确保检查您在 Analytics 上使用的任何代码。此处提供的第一个答案粘贴了使用 Google GA.JS 代码的代码,但今天许多网站使用新的 Analytics.JS 代码(我的情况)。所以我的建议是从您的网站或您的 GA 面板复制您的 GA 代码。
其次,检查您的 GA 代码是否正确地传递到您的即阅文 RSS 提要(我假设您使用带有某些插件的 Wordpress 来构建 RSS)。如果您使用新的 analytics.js 方法,您的 RSS 提要(每篇文章)中的代码应该是这样的:
<!-- Adding tracking if defined -->
<figure class="op-tracker">
<iframe>
<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', 'YOUR_GA_ID', 'auto');
ga('send', 'pageview');
</script>
</iframe>
</figure>
第三,如果在添加分析代码之前您的文章已经在 Facebook Instant Article Production 列表中,他们将不会更新/加载代码。最好的测试方法是编辑您的任何文章(标点符号的简单更改就足够了)并在您的 wordpress 上重新发布。然后转到您在 Facebook 上的 IA 面板,配置 并单击以重新加载/重建您的 RSS。稍等片刻,然后查看 post 将更新的 I.A 列表(您将看到日期更改),然后在编辑选项中打开它并在代码末尾进行检查。您的 GA 代码应该在那里。
因此,如果现在一切顺利,您的最后一步(至少对我而言)是删除 Facebook 上所有旧的 Instant Articles(我假设您没有'已发布它们)并在配置区域重新加载 RSS 提要,因此它将使用 GA 代码重建您的文章。
希望对您有所帮助。
PS:我没有使用 Automattic 的插件从 WP 发布 IA,因为它只是垃圾。有一种更简单的方法可以解决 w/o 的任何问题:https://wordpress.org/plugins/allfacebook-instant-articles/
我正在使用下面的解决方案(有点不同)并且它运行良好。
<figure class="op-tracker">
<iframe>
<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','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-9999999-9', 'mydomain.com');
ga('require', 'displayfeatures');
ga('set', 'campaignSource', 'Facebook');
ga('set', 'campaignMedium', 'Social Instant Article');
ga('set', 'title', 'My post title here');
ga('send', 'pageview');
</script>
</iframe>
</figure>
不幸的是,其他答案都涉及某种混乱,可能会使人们感到困惑。这是一种可靠的现代解决方案的尝试,它使用 UNIVERSAL ANALYTICS(新的)而不是 "ga.js"(旧的,尽管还有更旧的 urchin.js 没有人再使用了)。
<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', 'YOUR_UID_REPLACE_THIS', 'auto');
ga('require', 'displayfeatures');
ga('set', 'campaignSource', 'Facebook');
ga('set', 'campaignMedium', 'Social Instant Article');
ga('set', 'title', ia_document.title);
ga('send', 'pageview');
</script>
- YOUR_UID_REPLACE_THIS: 显然把你的个人GA代码放在这里。
- campaignSource:在 GA 中显示为 "Source"。
- campaignMedium:在 GA 中显示为 "Medium"。
- ia_document.title:这使用 FB javascript 变量作为标题。
到目前为止,我的标题已成功替换为此代码。
我在尝试使用 "REAL-TIME" Analytics 报告对此进行测试时遇到了一些非常令人困惑的经历,其中显示了多个具有相同标题的帖子,但总的来说我认为它是有效的。
- 测试 'title' 字段:REAL-TIME > BEHAVIOR
- 要测试 'Source' 和 'Media' 字段:REAL-TIME > TRAFFIC SOURCES
要查看 GA 的 Acquisitions 部分下的流量,请转至 Acquisitions > Source / Medium,它将与其他来源(包括来自 facebook 的几个不同来源)。
FLAW(与所有其他解决方案共享)- 不幸的是,我的解决方案没有让 IA 流量显示在 Acquisitions > Social > Facebook 报告。更糟糕的是,它甚至没有显示在 Acquisitions > Social 报告中。可悲的是,它在 Acquisitions > Other 中丢失了,对于我们大多数人来说,这将意味着一个完全 messed-up Social 总体报告。
- "Social" 频道与其他频道一样,有一组非常精确的
source / medium
值,它将像 Facebook 一样过滤到不同的类别。
- 显然,
Facebook / Social Instant Article
不在该列表中。
- 有关详细信息,请参阅 This other Whosebug post I made about this particular issue。我将在这里更新我的示例,无论结果如何都是最佳实践。
ia_document.title 代码来源:https://developers.facebook.com/docs/instant-articles/analytics
我已经使用维度完成了,我认为这是更好的做法,尤其是在您跟踪潜在客户时。
<figure class="op-tracker">
<iframe>
<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','//www.google- analytics.com/analytics.js','ga');
ga('create', 'ANALYTICS ID', 'auto');
ga('require', 'displayfeatures');
ga('send', 'pageview', {
'dimension3': 'Facebook Instant Article'
});
</script>
</iframe>
</figure>
然后在 GA 的管理中创建维度 3,并创建一个段,其中维度 3 具有 'Facebook Instant Article' 值。
这样您就可以将活动来源和媒介用于实际目的。
感谢您之前的所有回答和解决方案。他们启发我在 this public gist.
中总结我的学习和解决方案
我正在使用 Google's global site tag (gtag.js) 跟踪综合浏览量并成功将其归因于 Google 分析中的社交媒体。
以下代码段说明了对我有用的方法。请注意,我们使用 jinja 模板(使用 Nunjucks)来添加必要的和缺失的数据(例如 {{googleAnalytics}}
)。
<figure class="og-tracker">
<iframe>
<script async src="https://www.googletagmanager.com/gtag/js?id={{googleAnalytics}}"></script>
<script type='text/javascript'>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{googleAnalytics}}', {
'page_title': '{{articleTitle}}',
'page_path': '/{{articlePath}}', // The path portion of location. This value must start with a slash (/) character. (optional, but recommended)
'page_location': '{{articleUrl}}', // page's URL (optional, but recommended)
'campaign': {
'source': 'ia.facebook.com', // utm_source
'medium': 'referral', // utm_medium
'name': 'Facebook Instant Articles' // utm_campaign
},
});
</script>
</iframe>
</figure>
我把它像这样嵌入到我的 feed 中
<figure class="op-tracker">
<iframe src="https://www.example.com/fia-google-analytics-tracking.html"></iframe>
</figure>
实施文档
这里的大多数答案都提到了硬编码 campaignSource
和 campaignMedium
。
如果您这样做,您的分析将无法记录任何使用 UTM 标签的特定活动。
此外,Google Analytics 会将您所有访问 Instant Article 的流量视为广告活动,并且数字不会归入 "Social" 流量。
解决办法是将referrer
设置为https://i.facebook.com/
。
使用此 Google Analytics 会将您的流量视为来自 Facebook,并且表现得好像它是 "Social" 流量。
要区分即时文章流量和常规 Facebook 流量,您可以过滤 referrer
或添加自定义维度。
请记住在以下代码段中更改 XX-X。
<!-- Google Analytics Tracker -->
<figure class="op-tracker">
<iframe src="" hidden>
<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','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-472932XX-X', 'auto');
ga('set', 'referrer', 'https://i.facebook.com/');
ga('send', 'pageview', {title: "<page-title>"});
</script>
</iframe>
</figure>
您好,我们已经在 脸书
Facebook 面向出版商的即时文章功能(目前主要在 2016 年 3 月 30 日在 FB iOS 应用上推出) 允许通过 Google 分析代码进行跟踪。 但是,即使按照说明实施了 GA 代码,我们也无法找到推荐人或 GA 中 FB Instant Articles 的其他信息。 谁能帮助我了解在 GA 中究竟在哪里可以找到有关 Facebook Instant Articles 内容消费的信息? 它会显示为推荐来源还是主机名? Instant Articles 在 FB 内打开。
根据他们的文档https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCampaigns#generalCampaign可以通过分析脚本设置来源、媒介和标题。需要设置标题,因为FB应用程序上IA的页面标题为空。
请注意代码中的大写字母应该根据您的静态或动态值进行更新。
<figure class="op-tracker">
<iframe hidden>
<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','//www.google- analytics.com/analytics.js','ga');
ga('create', 'ANALYTICS ID', 'auto');
ga('require', 'displayfeatures');
ga('set', 'campaignSource', 'Facebook');
ga('set', 'campaignMedium', 'Social Instant Article');
ga('set', 'title', 'POST TITLE OR THE TITLE YOU WANT');
ga('send', 'pageview');
</script>
</iframe>
</figure>
再次请注意,大写的单词将替换为您的实际值。好好享受。
我运行遇到了同样的问题。在这里起作用的是:
URL to source of analytics code
If your analytics code can be served directly from a specific URL, you can specify the URL using the src attribute on the element.
<figure class="op-tracker"> <iframe src="https://www.myserver.com/trackingcode"></iframe> </figure>
(Source: https://developers.facebook.com/docs/instant-articles/reference/analytics)
我现在唯一不知道的是:如果我使用extended Analytics code 如何拉取页面标题?
这似乎是一个常见问题,我将尝试在此处提供更多信息:
首先,确保检查您在 Analytics 上使用的任何代码。此处提供的第一个答案粘贴了使用 Google GA.JS 代码的代码,但今天许多网站使用新的 Analytics.JS 代码(我的情况)。所以我的建议是从您的网站或您的 GA 面板复制您的 GA 代码。
其次,检查您的 GA 代码是否正确地传递到您的即阅文 RSS 提要(我假设您使用带有某些插件的 Wordpress 来构建 RSS)。如果您使用新的 analytics.js 方法,您的 RSS 提要(每篇文章)中的代码应该是这样的:
<!-- Adding tracking if defined -->
<figure class="op-tracker">
<iframe>
<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', 'YOUR_GA_ID', 'auto');
ga('send', 'pageview');
</script>
</iframe>
</figure>
第三,如果在添加分析代码之前您的文章已经在 Facebook Instant Article Production 列表中,他们将不会更新/加载代码。最好的测试方法是编辑您的任何文章(标点符号的简单更改就足够了)并在您的 wordpress 上重新发布。然后转到您在 Facebook 上的 IA 面板,配置 并单击以重新加载/重建您的 RSS。稍等片刻,然后查看 post 将更新的 I.A 列表(您将看到日期更改),然后在编辑选项中打开它并在代码末尾进行检查。您的 GA 代码应该在那里。
因此,如果现在一切顺利,您的最后一步(至少对我而言)是删除 Facebook 上所有旧的 Instant Articles(我假设您没有'已发布它们)并在配置区域重新加载 RSS 提要,因此它将使用 GA 代码重建您的文章。
希望对您有所帮助。
PS:我没有使用 Automattic 的插件从 WP 发布 IA,因为它只是垃圾。有一种更简单的方法可以解决 w/o 的任何问题:https://wordpress.org/plugins/allfacebook-instant-articles/
我正在使用下面的解决方案(有点不同)并且它运行良好。
<figure class="op-tracker">
<iframe>
<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','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-9999999-9', 'mydomain.com');
ga('require', 'displayfeatures');
ga('set', 'campaignSource', 'Facebook');
ga('set', 'campaignMedium', 'Social Instant Article');
ga('set', 'title', 'My post title here');
ga('send', 'pageview');
</script>
</iframe>
</figure>
不幸的是,其他答案都涉及某种混乱,可能会使人们感到困惑。这是一种可靠的现代解决方案的尝试,它使用 UNIVERSAL ANALYTICS(新的)而不是 "ga.js"(旧的,尽管还有更旧的 urchin.js 没有人再使用了)。
<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', 'YOUR_UID_REPLACE_THIS', 'auto');
ga('require', 'displayfeatures');
ga('set', 'campaignSource', 'Facebook');
ga('set', 'campaignMedium', 'Social Instant Article');
ga('set', 'title', ia_document.title);
ga('send', 'pageview');
</script>
- YOUR_UID_REPLACE_THIS: 显然把你的个人GA代码放在这里。
- campaignSource:在 GA 中显示为 "Source"。
- campaignMedium:在 GA 中显示为 "Medium"。
- ia_document.title:这使用 FB javascript 变量作为标题。
到目前为止,我的标题已成功替换为此代码。
我在尝试使用 "REAL-TIME" Analytics 报告对此进行测试时遇到了一些非常令人困惑的经历,其中显示了多个具有相同标题的帖子,但总的来说我认为它是有效的。
- 测试 'title' 字段:REAL-TIME > BEHAVIOR
- 要测试 'Source' 和 'Media' 字段:REAL-TIME > TRAFFIC SOURCES
要查看 GA 的 Acquisitions 部分下的流量,请转至 Acquisitions > Source / Medium,它将与其他来源(包括来自 facebook 的几个不同来源)。
FLAW(与所有其他解决方案共享)- 不幸的是,我的解决方案没有让 IA 流量显示在 Acquisitions > Social > Facebook 报告。更糟糕的是,它甚至没有显示在 Acquisitions > Social 报告中。可悲的是,它在 Acquisitions > Other 中丢失了,对于我们大多数人来说,这将意味着一个完全 messed-up Social 总体报告。
- "Social" 频道与其他频道一样,有一组非常精确的
source / medium
值,它将像 Facebook 一样过滤到不同的类别。 - 显然,
Facebook / Social Instant Article
不在该列表中。 - 有关详细信息,请参阅 This other Whosebug post I made about this particular issue。我将在这里更新我的示例,无论结果如何都是最佳实践。
ia_document.title 代码来源:https://developers.facebook.com/docs/instant-articles/analytics
我已经使用维度完成了,我认为这是更好的做法,尤其是在您跟踪潜在客户时。
<figure class="op-tracker">
<iframe>
<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','//www.google- analytics.com/analytics.js','ga');
ga('create', 'ANALYTICS ID', 'auto');
ga('require', 'displayfeatures');
ga('send', 'pageview', {
'dimension3': 'Facebook Instant Article'
});
</script>
</iframe>
</figure>
然后在 GA 的管理中创建维度 3,并创建一个段,其中维度 3 具有 'Facebook Instant Article' 值。 这样您就可以将活动来源和媒介用于实际目的。
感谢您之前的所有回答和解决方案。他们启发我在 this public gist.
中总结我的学习和解决方案我正在使用 Google's global site tag (gtag.js) 跟踪综合浏览量并成功将其归因于 Google 分析中的社交媒体。
以下代码段说明了对我有用的方法。请注意,我们使用 jinja 模板(使用 Nunjucks)来添加必要的和缺失的数据(例如 {{googleAnalytics}}
)。
<figure class="og-tracker">
<iframe>
<script async src="https://www.googletagmanager.com/gtag/js?id={{googleAnalytics}}"></script>
<script type='text/javascript'>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{googleAnalytics}}', {
'page_title': '{{articleTitle}}',
'page_path': '/{{articlePath}}', // The path portion of location. This value must start with a slash (/) character. (optional, but recommended)
'page_location': '{{articleUrl}}', // page's URL (optional, but recommended)
'campaign': {
'source': 'ia.facebook.com', // utm_source
'medium': 'referral', // utm_medium
'name': 'Facebook Instant Articles' // utm_campaign
},
});
</script>
</iframe>
</figure>
我把它像这样嵌入到我的 feed 中
<figure class="op-tracker">
<iframe src="https://www.example.com/fia-google-analytics-tracking.html"></iframe>
</figure>
实施文档
这里的大多数答案都提到了硬编码 campaignSource
和 campaignMedium
。
如果您这样做,您的分析将无法记录任何使用 UTM 标签的特定活动。 此外,Google Analytics 会将您所有访问 Instant Article 的流量视为广告活动,并且数字不会归入 "Social" 流量。
解决办法是将referrer
设置为https://i.facebook.com/
。
使用此 Google Analytics 会将您的流量视为来自 Facebook,并且表现得好像它是 "Social" 流量。
要区分即时文章流量和常规 Facebook 流量,您可以过滤 referrer
或添加自定义维度。
请记住在以下代码段中更改 XX-X。
<!-- Google Analytics Tracker -->
<figure class="op-tracker">
<iframe src="" hidden>
<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','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-472932XX-X', 'auto');
ga('set', 'referrer', 'https://i.facebook.com/');
ga('send', 'pageview', {title: "<page-title>"});
</script>
</iframe>
</figure>