AMP 客户端 ID 错误
AMP Client ID Error
目前正在尝试实现 CLIENT_ID 变量 (https://github.com/ampproject/amphtml/blob/master/spec/amp-var-substitutions.md#variable-substitution-in-links),所以 link 是:
<a id="get-started" href="https://subdomain.website.com/?client_id=CLIENT_ID(_ga)" data-amp-replace="CLIENT_ID">
我们也已将域名列入白名单:
<meta name="amp-link-variable-allowed-origin" content="https://www.website.com https://subdomain.website.com">
然后修改GA代码:
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXXXX-X"
},
"extraUrlParams": {
"clientId": "${clientId(_ga)}"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
控制台报告这些错误:
element-service.js:63 The first argument to CLIENT_ID, the fallback Cookie name, is required: undefined
log.js:317 Uncaught Error: The first argument to CLIENT_ID, the fallback Cookie name, is required: undefined
改用CLIENT_ID(_ga)
:
<script type="application/json">
{
"vars": {
"account": "UA-XXXXXX-X"
},
"extraUrlParams": {
"ampClientId": "CLIENT_ID(_ga)"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
注意这里发生的事情很重要:
当使用 CLIENT_ID(_ga)
时,我们实际上是在告诉 AMP 分析生成一个名为 _ga
的 cookie,然后我们将其用作 extraUrlParams
并连接到 URL.
请务必注意,我们可以使用此方法创建任何 cookie,因此如果我们想使用不同的分析供应商,我们可以生成我们需要的任何 cookie,例如:
CLIENT_ID(some_random_cookie)
将设置一个名为 some_random_cookie
的 cookie,并将 amp_client_id
(一些哈希)作为值。
目前正在尝试实现 CLIENT_ID 变量 (https://github.com/ampproject/amphtml/blob/master/spec/amp-var-substitutions.md#variable-substitution-in-links),所以 link 是:
<a id="get-started" href="https://subdomain.website.com/?client_id=CLIENT_ID(_ga)" data-amp-replace="CLIENT_ID">
我们也已将域名列入白名单:
<meta name="amp-link-variable-allowed-origin" content="https://www.website.com https://subdomain.website.com">
然后修改GA代码:
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXXXX-X"
},
"extraUrlParams": {
"clientId": "${clientId(_ga)}"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
控制台报告这些错误:
element-service.js:63 The first argument to CLIENT_ID, the fallback Cookie name, is required: undefined
log.js:317 Uncaught Error: The first argument to CLIENT_ID, the fallback Cookie name, is required: undefined
改用CLIENT_ID(_ga)
:
<script type="application/json">
{
"vars": {
"account": "UA-XXXXXX-X"
},
"extraUrlParams": {
"ampClientId": "CLIENT_ID(_ga)"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
注意这里发生的事情很重要:
当使用 CLIENT_ID(_ga)
时,我们实际上是在告诉 AMP 分析生成一个名为 _ga
的 cookie,然后我们将其用作 extraUrlParams
并连接到 URL.
请务必注意,我们可以使用此方法创建任何 cookie,因此如果我们想使用不同的分析供应商,我们可以生成我们需要的任何 cookie,例如:
CLIENT_ID(some_random_cookie)
将设置一个名为 some_random_cookie
的 cookie,并将 amp_client_id
(一些哈希)作为值。