AMP
  • 網站

追蹤 Core Web Vitals

簡介

AMP 開發人員可以透過 amp-analytics 元件測量 Core Web Vitals 指標。使用變數替換將這些指標新增至 amp-analytics 發出的任何外寄要求。

在我們的指南 Analytics:基礎知識 中瞭解更多關於 amp-analytics 的資訊。

設定

在標頭中匯入 amp-analytics 元件。

<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>

使用 amp-analytics 追蹤 Core Web Vitals

amp-analytics 元件提供以下巨集

雖然您可以將這些巨集附加到任何觸發器,但它們會個別且非同步地解析。由於觸發器在所有巨集解析完成之前不會完成,因此通常最好將每個巨集拆分為其自己的獨立觸發器,以防止低報。

<amp-analytics>
  <script type="application/json">
    {
      "requests": {
        "event": "https://amp.dev.org.tw/documentation/examples/advertising-analytics/tracking_core_web_vitals/ping?user=&account=ampdev&event=${eventId}",
        "CWV_EVENT": "${event}&type=CWV"
      },
      "triggers": {
          "cls": {
            "on": "visible",
            "request": "CWV_EVENT",
            "extraUrlParams": {
              "cls": "${cumulativeLayoutShift}"
            }
          },
          "lcp": {
            "on": "visible",
            "request": "CWV_EVENT",
            "extraUrlParams": {
              "lcp": "${largestContentfulPaint}"
            }
          },
          "fid": {
            "on": "visible",
            "request": "CWV_EVENT",
            "extraUrlParams": {
              "fid": "${firstInputDelay}"
            }
          },
        }
      }
    }
  </script>
</amp-analytics>

在 AMP 中使用 Google Analytics 追蹤 Core Web Vitals

必須在 body 中設定 Analytics。在這裡,我們使用 type=gtag 屬性和值來啟用 Google Analytics 以追蹤網頁瀏覽量,並使用 extraUrlParams 功能將 Core Web Vitals 附加到請求 URL。

我們也將 data-credentials 屬性設定為 "include" 以啟用 Cookie。

Google Analytics 指標必須是整數。由於累計版面配置偏移的測量範圍為 0 到 1,因此您可以使用內建的 "$CALC" 巨集來獲得更高的精確度。

$CALC(${cumulativeLayoutShift}, 1000, multiply)

<amp-analytics type="gtag" data-credentials="include">
  <script type="application/json">
    {
      "vars": {
         "gtag_id": "G-XXXXXXXX",
         "config": {
           "G-XXXXXXXX": {
              "groups": "default"
           }
         }
      },
      "requests": {
        "event": "https://amp.dev.org.tw/documentation/examples/advertising-analytics/tracking_core_web_vitals/ping?user=&account=ampdev&event=${eventId}",
        "CWV_EVENT": "${event}&type=CWV"
      },
      "triggers": {
        "defaultPageview": {
          "on": "visible",
          "request": "pageview",
          "vars": {
            "title": "{{title}}"
          }
        },
        "cls": {
          "on": "visible",
          "request": "CWV_EVENT",
          "extraUrlParams": {
            "cls": "$CALC(${cumulativeLayoutShift}, 1000, multiply)"
          }
        },
        "lcp": {
          "on": "visible",
          "request": "CWV_EVENT",
          "extraUrlParams": {
            "lcp": "${largestContentfulPaint}"
          }
        },
        "fid": {
          "on": "visible",
          "request": "CWV_EVENT",
          "extraUrlParams": {
            "fid": "${firstInputDelay}"
          }
        }
      }
    }
  </script>
</amp-analytics>

Google Analytics 4 與 AMP

如需有關如何使用 amp-analytics 設定 Google Analytics 4 的更多資訊,請參閱 amp-analytics 開發人員指南AMP 的標籤設定 文件。

比較 AMP 快取與原始來源的效能

AMP 快取旨在確保您的使用者擁有最佳體驗,但務必確保頁面的原始來源版本也具有相同的效能。如果您的 AMP 頁面從 AMP 快取提供時效能非常好,但在原始來源上效能較差,則您的 Core Web Vitals 可能會受到負面影響。確保為所有使用者提供出色體驗的一個好方法是追蹤您的頁面在 AMP 快取內外的 Core Web Vitals 效能。

我們可以基於我們的 Google Analytics 來做到這一點。amp-analytics 提供的一種替換是 ampdocHost - 這讓我們可以追蹤使用者造訪的頁面 URL。我們使用 extraUrlParams 擴展了我們之前的設定。這讓我們可以為我們的 Analytics 事件定義自訂的鍵和值。我們需要設定一個新的自訂維度,它將用作鍵。

建立用於追蹤 AMP Host 的自訂維度後,請務必記下 Analytics 頁面上列出的 索引。此數字用於我們的組態物件中,以將 ampdocHost 連接到您剛建立的維度。在下面,我們假設您的索引是 "1"(即 cd1)。如果您的 索引 是 2,則使用 cd2,依此類推。

<amp-analytics type="gtag" data-credentials="include">
  <script type="application/json">
    {
      "vars": {
         "gtag_id": "G-XXXXXXXX",
         "config": {
           "G-XXXXXXXX": {
              "groups": "default"
           }
         }
      },
      "requests": {
        "event": "https://amp.dev.org.tw/documentation/examples/advertising-analytics/tracking_core_web_vitals/ping?user=&account=ampdev&event=${eventId}",
        "CWV_EVENT": "${event}&type=CWV"
      },
      "triggers": {
        "defaultPageview": {
          "on": "visible",
          "request": "pageview",
          "vars": {
            "title": "{{title}}"
          },
          "extraUrlParams": {
            "cd1": "${ampdocHost}"
          }
        },
        "cls": {
          "on": "visible",
          "request": "CWV_EVENT",
          "extraUrlParams": {
            "cls": "$CALC(${cumulativeLayoutShift}, 1000, multiply)"
          }
        },
        "lcp": {
          "on": "visible",
          "request": "CWV_EVENT",
          "extraUrlParams": {
            "lcp": "${largestContentfulPaint}"
          }
        },
        "fid": {
          "on": "visible",
          "request": "CWV_EVENT",
          "extraUrlParams": {
            "fid": "${firstInputDelay}"
          }
        }
      }
    }
    </script>
</amp-analytics>
需要進一步說明嗎?

如果此頁面上的說明無法涵蓋您的所有問題,請隨時聯繫其他 AMP 使用者討論您的確切使用案例。

前往 Stack Overflow
無法解釋的功能?

AMP 專案強烈鼓勵您的參與和貢獻!我們希望您能成為我們開放原始碼社群的持續參與者,但我們也歡迎針對您特別熱衷的問題進行一次性貢獻。

在 GitHub 上編輯範例