События AMP-аналитики для прокрутки

Я пытаюсь добавить аналитику на свою страницу AMP.

<!doctype html>
<html amp lang="en">

<head>
  <meta charset="utf-8">
  <title>Hello, AMP Analytics</title>
  <link rel="canonical" href="http://example.ampproject.org/article-metadata.html" />
  <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
  <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
  <style>
    body {
      opacity: 0
    }
  </style><noscript><style>body {opacity: 1}</style></noscript>
  <script async src="https://cdn.ampproject.org/v0.js"></script>
</head>

<body>
  <amp-analytics type="googleanalytics">
    <script type="application/json">
      {
        "vars": {
          "account": "UA-xxxxxxxx-x"
        },
        "triggers": {
          "trackPageview": {
            "on": "visible",
            "request": "pageview"
          },
          "scrollPings": {
            "on": "scroll",
            "scrollSpec": {
              "verticalBoundaries": [10, 20, 30, 40, 50, 60, 70, 80, 90]
            },
            "request": "event",
            "vars": {
              "eventId": "scroll"
            }
          },
          "trackEvent": {
            "selector": "#event-test",
            "on": "click",
            "request": "event",
            "vars": {
              "eventCategory": "${canonicalUrl}",
              "eventAction": "click"
            }
          }

        }
      }
    </script>
  </amp-analytics>

  <h1 id="header">AMP Page</h1>

  <span id="event-test" class="box">
    Click here to generate an event
  </span>
  <h2>

    Page semi-protected Blog From Wikipedia, the free encyclopedia "Blogger" redirects here. For the Google service with same name, see Blogger (service). For other uses, see Blog (disambiguation). Not to be confused with .blog. Journalism Simons Perskaart
    DOM.jpg News Writing style Ethics Objectivity News values Attribution Defamation Editorial independence Journalism school Index of journalism articles Areas Arts Business Data Entertainment Environment Fashion Medicine Politics Science Sports Technology
    Trade Traffic Weather World Genres Advocacy Analytic Blogging Broadcast Citizen Civic Collaborative Comics-based Community Data Database Gonzo Immersion Investigative Literary Muckraking Narrative "New Journalism" Non-profit Online Opinion Peace Photojournalism
    Scientific Sensor Underground Visual Watchdog Social impact Fake news Fourth Estate Fifth Estate Freedom of the press Infotainment Media bias Public relations Press service Propaganda model Yellow journalism News media Newspapers Magazines TV and
    radio Internet News agencies Alternative media Roles Journalists (reporters) Columnist Blogger Editor Copy editor Meteorologist News presenter Photographer Pundit / commentator Newspaper nicu buculei 01.svg Journalism portal Category: Journalism v
    t e A blog (a truncation of the expression "weblog")[1] is a discussion or informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries ("posts"). Posts are typically displayed in reverse chronological
    order, so that the most recent post appears first, at the top of the web page. Until 2009, blogs were usually the work of a single individual,[citation needed] occasionally of a small group, and often covered a single subject or topic. In the 2010s,
    "multi-author blogs" (MABs) have developed, with posts written by large numbers of authors and sometimes professionally edited. MABs from newspapers, other media outlets, universities, think tanks, advocacy groups, and similar institutions account
    for an increasing quantity of blog traffic. The rise of Twitter and other "microblogging" systems helps integrate MABs and single-author blogs into the news media. Blog can also be used as a verb, meaning to maintain or add content to a blog. This
    page was last edited on 18 May 2017, at 21:34. Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered
    trademark of the Wikimedia Foundation, Inc., a non-profit organization. Privacy policyAbout WikipediaDisclaimersContact WikipediaDevelopersCookie statementMobile viewWikimedia Foundation Powered by MediaWiki
  </h2>
</body>

</html>

ckPageview и trackEvent генерируют события. scrollPings нет. Кто-нибудь пробовал это? ** Ссылочный код для scrollPing взят со страницы AMP by Example. заранее спасибо

< amp - analytics type = "googleanalytics" >
  <script type = "application/json" > {
    "vars": {
      "account": "UA-XXXXXXXX-X"
    },
    "triggers": {
      "trackPageview": {
        "on": "visible",
        "request": "pageview"
      },
      "scrollPings": {
        "on": "scroll",
        "scrollSpec": {
          "verticalBoundaries": [10, 20, 30, 40, 50, 60, 70, 80, 90]
        },
        "request": "event",
        "vars": {
          "eventId": "scroll"
        }
      },
      "trackEvent": {
        "selector": "#event-test",
        "on": "click",
        "request": "event",
        "vars": {
          "eventCategory": "${canonicalUrl}",
          "eventAction": "click"
        }
      }

    }
  } 
</script> 
</amp-analytics>


person Sachin Naik    schedule 27.05.2017    source источник
comment
Можете ли вы показать журналы, возвращенные валидатором amp?   -  person Mr.Rebot    schedule 28.05.2017
comment
Кроме того, не могли бы вы показать всю страницу, если она где-то размещена?   -  person kul3r4    schedule 28.05.2017
comment
Я обновил всю страницу. Спасибо   -  person Sachin Naik    schedule 30.05.2017
comment
вы с этим чего-нибудь добились?   -  person Guy Bowden    schedule 12.06.2017
comment
@GuyBowden Нет   -  person Sachin Naik    schedule 12.06.2017


Ответы (1)


Работая с другим нашим разработчиком, нам удалось в этом разобраться, по крайней мере, частично. Есть несколько переменных-заменителей URL, и вам нужно использовать одну из них для verticalScrollBoundary, чтобы сообщать о процентах (как вы делаете там для своего тестового события). Обратите внимание, что знак процента после переменной '${verticalScrollBoundary}%' является НЕОБЯЗАТЕЛЬНЫМ и добавлен для согласования в нашем аналитическом отчете с отслеживанием глубины прокрутки без AMP.

Это сработало для нас:

'scrollPings' => array(
  'on' => 'scroll',
  'request' => 'event',
  'scrollSpec' => array(
    'verticalBoundaries' => array( 0, 25, 50, 75, 100 )
  ),
  'vars' => array(
    'eventCategory' => 'AMP Scroll Depth',
    'eventAction'   => 'Scrolled',
    'eventLabel'    => '${verticalScrollBoundary}%',
  ),
),

Извините, это синтаксис PHP, который транслируется в JSON, потому что мы используем плагин WordPress. Для JSON это будет (я считаю):

"scrollPings": {
  "on": "scroll",
  "request": "event",
  "scrollSpec": {
    "verticalBoundaries": [0, 25, 50, 75, 100]
  },
  "vars": {
    "eventCategory": "AMP Scroll Depth",
    "eventAction": "Scrolled",
    "eventLabel": "${verticalScrollBoundary}%"
  },
}

Одна вещь, которую мы не выяснили, это то, что, похоже, регистрируется нулевое значение либо «(не установлено)», либо «%», если вы включаете знак процента, как у меня, в конце переменной the'${verticalScrollBoundary}%'. Обратите внимание, что знак процента НЕОБЯЗАТЕЛЬНЫЙ. Если знака процента нет, мы просто получаем регистрируемое (не установленное) значение, которое, похоже, не равно 0 (вы заметите, что я добавил 0 в массив возможных значений).

person user3772503    schedule 21.06.2017
comment
Спасибо, теперь основные функции работают. - person Sachin Naik; 29.06.2017