Ошибка идентификатора клиента AMP

В данный момент пытаемся внедрить переменную CLIENT_ID (https://github.com/ampproject/amphtml/blob/master/spec/amp-var-substitutions.md#variable-substitution-in-links), поэтому ссылка:

<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​​​

person Michael Gearon    schedule 18.05.2018    source источник


Ответы (1)


Вместо этого используйте 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 создать файл cookie с именем _ga, а затем используем его как extraUrlParams, который объединяется с URL-адресом.

Важно отметить, что мы можем создать любой файл cookie с помощью этого метода, поэтому, если мы захотим использовать другого поставщика аналитики, мы можем создать любой файл cookie, который нам нужен, например:

CLIENT_ID(some_random_cookie) установит файл cookie с именем some_random_cookie с amp_client_id (некоторый хеш) в качестве значения.

person Sebastian Benz    schedule 22.05.2018