您好我们已经设置了Facebook Instant Articles Feed 主页。
Facebook为发布商提供的即时文章功能(推出FB iOS应用程序主要用于现在30 3 2016) 允许通过Google Analytics代码进行跟踪。 但是,即使按照指示实施GA代码,我们也无法找到推荐或 GA的FB Instant Articles的其他信息。 任何人都可以帮助我了解在哪里找到关于Facebook即时文章内容消费的确切信息? 它会显示为推荐来源还是主机名? 即时文章在FB内打开。
答案 0 :(得分:13)
根据他们的文档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>
同样,请注意,大写单词将被您的实际值替换。好好享受。
答案 1 :(得分:2)
由于这似乎是一个常见问题,我将尝试在此处提供更多信息:
首先,请确保检查您在Google Analytics上使用的任何代码。这里提供的第一个答案是使用Google GA.JS代码粘贴代码,但今天许多网站都使用新的Analytics.JS代码(我的情况)。因此,我的建议是从您的网站或GA面板中复制您的GA代码。
第二次,检查您的GA代码是否正确传递到您的Instant Article RSS Feed(我假设您使用带有一些插件的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即时文章制作列表中,则在添加Google Analytics代码之前,他们不会更新/加载代码。最好的测试方法是编辑你的任何文章(标点符号的简单变化就足够了)并在你的wordpress上重新发布它。然后转到Facebook上的IA面板, Configuration ,然后单击以重新加载/重建RSS。稍等一下,然后检查帖子将更新的I.A列表(您将看到日期更改),然后在编辑选项上打开它并检查代码的末尾。您的GA代码应该在那里。
所以,如果现在一切都很好,那么最后一步(至少对我而言)就是删除Facebook上所有旧的即时文章(我假设你没有&#39;然后发布它们并在配置区域重新加载RSS源,因此它将使用GA代码重建您的文章。
希望这有帮助。
PS:我没有使用Automattic的插件从WP发布IA,因为它只是垃圾。有一种方法比工作更简单:https://wordpress.org/plugins/allfacebook-instant-articles/
答案 2 :(得分:1)
不幸的是,其他答案都涉及某种混乱,可能会让人感到困惑。这是尝试使用 UNIVERSAL ANALYTICS (新的)而不是&#34; ga.js&#34; (旧的,虽然有一个甚至更老的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>
到目前为止,我已经使用此代码成功替换了标题。
我尝试使用&#34;实时&#34;进行测试时遇到了一些非常令人困惑的经历。有关Google Analytics的报道,其中多个帖子显示的标题相同,但总体而言我觉得它正在运作。
要查看GA的收购部分下的流量,请转到采购&gt;来源/中等,它将与其他来源(包括来自Facebook的几个不同来源)一起列出。
FLAW (与所有其他解决方案共享) - 遗憾的是,我的解决方案并未在采购&gt;中显示IA流量社交&gt; Facebook 报道。更糟糕的是,它甚至没有显示在收购中&gt;社交报告。可悲的是,它在收购&gt;中迷失了其他,对我们大多数人来说,将意味着一个完全混乱的社交报告。
source / medium
值集合,可以过滤到Facebook等不同类别。 Facebook / Social Instant Article
不在该列表中。 ia_document.title代码的来源:https://developers.facebook.com/docs/instant-articles/analytics
答案 3 :(得分:0)
我遇到了同样的问题。这有什么作用:
分析代码来源的网址
如果您的分析代码可以直接从特定网址提供,那么您就是 可以使用元素上的src属性指定URL。
<figure class="op-tracker"> <iframe src="https://www.myserver.com/trackingcode"></iframe> </figure>
(资料来源:https://developers.facebook.com/docs/instant-articles/reference/analytics)
我现在唯一不知道的是:如果我使用extended Analytics code 如何提取页面标题?
答案 4 :(得分:0)
我使用下面的解决方案(有点不同),并且它运作正常。
<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>
答案 5 :(得分:0)
我已经使用维度来完成它,我认为这是更好的练习,特别是如果你正在跟踪潜在客户。
<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并创建一个其中dimension3具有“即时消息”文章的段。值。 通过这种方式,您可以保留广告系列来源&amp;适合他们的实际目的。
答案 6 :(得分:0)
感谢所有以前的答案和解决方案。他们启发了我在this public gist中总结我的学习和解决方案。
我正在使用Google's global site tag (gtag.js)来跟踪网页浏览并将其成功归因于Google Analytics(分析)中的社交媒体。
以下代码段说明了对我有用的内容。请注意,我们使用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>
实施文档
答案 7 :(得分:0)
这里的大多数答案都提到了2019-03-21 17:02:16.248 ERROR 1804 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_ZUUL_RIBBON/ICB8061.ibsplc.com:zuul_ribbon:8080 - was unable to refresh its cache! status = Cannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:112) ~[eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) ~[eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137) ~[eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) ~[eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) ~[eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.DiscoveryClient.getAndStoreFullRegistry(DiscoveryClient.java:1051) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:965) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.DiscoveryClient.refreshRegistry(DiscoveryClient.java:1479) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1446) [eureka-client-1.9.8.jar:1.9.8]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_202]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_202]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_202]
2019-03-21 17:02:16.278 ERROR 1804 --- [tbeatExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:8762/}
javax.ws.rs.WebApplicationException: com.fasterxml.jackson.databind.exc.MismatchedInputException: Root name 'timestamp' does not match expected ('instance') for type [simple type, class com.netflix.appinfo.InstanceInfo]
at [Source: (com.sun.jersey.client.apache4.ApacheHttpClient4Handler$HttpClientResponseInputStream); line: 1, column: 2]
at com.netflix.discovery.provider.DiscoveryJerseyProvider.readFrom(DiscoveryJerseyProvider.java:110) ~[eureka-client-1.9.8.jar:1.9.8]
at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:634) ~[jersey-client-1.19.1.jar:1.19.1]
at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:586) ~[jersey-client-1.19.1.jar:1.19.1]
at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.sendHeartBeat(AbstractJerseyEurekaHttpClient.java:105) ~[eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$3.execute(EurekaHttpClientDecorator.java:92) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.MetricsCollectingEurekaHttpClient.execute(MetricsCollectingEurekaHttpClient.java:73) ~[eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$3.execute(EurekaHttpClientDecorator.java:92) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.execute(RedirectingEurekaHttpClient.java:89) ~[eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$3.execute(EurekaHttpClientDecorator.java:92) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:120) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$3.execute(EurekaHttpClientDecorator.java:92) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.SessionedEurekaHttpClient.execute(SessionedEurekaHttpClient.java:77) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.sendHeartBeat(EurekaHttpClientDecorator.java:89) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.DiscoveryClient.renew(DiscoveryClient.java:846) [eureka-client-1.9.8.jar:1.9.8]
at com.netflix.discovery.DiscoveryClient$HeartbeatThread.run(DiscoveryClient.java:1405) [eureka-client-1.9.8.jar:1.9.8]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_202]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_202]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_202]
和campaignSource
的硬编码。
如果执行此操作,则您的分析将丢失使用UTM标签记录任何特定广告系列的功能。 另外,Google Analytics(分析)会将您访问“即时文章”的所有流量视为“广告系列”和“社交”流量之内的数字。
解决方案是将campaignMedium
设置为referrer
。
使用此Google Analytics(分析)将处理您来自Facebook的流量,并使其表现为“社交”流量。
要将“即时文章流量”与常规Facebook流量区分开,您可以过滤https://i.facebook.com/
或添加自定义维度。
请记住在以下代码段中更改XX-X。
referrer