Google Ads 移轉作業

Google Ads (原名為 Google AdWords) 專用的 BigQuery 資料移轉服務可讓您針對 Google Ads 報表資料自動安排及管理週期性載入工作。

支援的報表

Google Ads 專用的 BigQuery 資料移轉服務目前支援下列報表選項:

如要瞭解 Google Ads 報表如何轉換成 BigQuery 表格和視圖,請參閱 Google Ads 報表轉換一文。

如要將 Google Ads 報表對應到 Google Ads UI 中顯示的項目,請參閱將報表對應至 Google Ads UI 一文。

報表選項 支援
支援的 API 版本

v201809

如需瞭解 Google Ads API (AdWords API) 遷移,請參閱遷移指南 (v201809)

排程

每天,時間則為首次建立移轉作業的時間 (預設)

您可以設定這個時間。

更新期

最近 7 天 (預設)

最多可設為 30 天

對照表快照每天擷取一次,並儲存在最新執行日期的分區中。系統「不會」根據補充作業或透過更新期載入的天數更新對照表快照。如要瞭解哪些對照表不會經由更新期更新,請參閱設定補充作業一文。

補充作業時間上限

不限

Google Ads 沒有已知的資料保留限制,但 BigQuery 資料移轉服務對於可透過單一補充作業要求的天數設有限制。如要瞭解補充作業,請參閱設定補充作業一文。

每個管理員帳戶的客戶 ID 數

1,000

BigQuery 資料移轉服務對每個 Google Ads 管理員帳戶 (MCC) 最多支援 1000 個客戶 ID

事前準備

建立 Google Ads 移轉作業前的準備事項如下:

  • 確認您已完成啟用 BigQuery 資料移轉服務的一切必要動作。
  • 建立 BigQuery 資料集以儲存 Google Ads 資料。
  • 如果您想要使用傳統 BigQuery 網頁版 UI 建立移轉作業,請允許來自 bigquery.cloud.google.com 的彈出式視窗,以便查看權限視窗。為使移轉作業順利進行,您必須授權 BigQuery 資料移轉服務權限管理您的 Google Ads 廣告活動。
  • 移轉執行通知目前仍為 Alpha 版。如果您想要為 Cloud Pub/Sub 設定移轉執行通知,您必須具有 pubsub.topics.setIamPolicy 權限。如果您只是要設定電子郵件通知,就不需要 Cloud Pub/Sub 權限。詳情請參閱 BigQuery 資料移轉服務執行通知一文。

所需權限

確認建立移轉作業的人員具有以下必要權限:

  • BigQuery

    • 建立移轉作業的 bigquery.transfers.update 權限,以及目標資料集的 bigquery.datasets.update 權限。

    bigquery.admin 預先定義的專案層級身分與存取權管理角色包括 bigquery.transfers.updatebigquery.transfers.update 權限。如要進一步瞭解 BigQuery 中的身分與存取權管理角色,請參閱存取權控管一文。

  • Google Ads:移轉設定所使用的 Google Ads 客戶 ID 或管理員帳戶 (MCC) 的讀取權限。

設定 Google Ads 資料移轉

設定 Google Ads 報表資料移轉作業必須具備:

  • 客戶 ID:Google Ads 核發的 Google Ads 客戶 ID 或管理員帳戶 (MCC)。如要瞭解如何擷取 Google Ads 客戶 ID,請參閱尋找客戶 ID 一文。

如要建立 Google Ads 報表資料移轉作業:

主控台

  1. 前往 BigQuery 網頁版 UI。

    前往 BigQuery 網頁版 UI

  2. 按一下 [Transfers] (移轉作業)

  3. 按一下 [+ Create] (+ 建立)。

  4. 在「Create Transfer」(建立轉移作業) 頁面:

    • 在「Source type」(來源類型) 區段中,針對「Source」(來源),選擇 [Google Ads]

      移轉作業來源

    • 在「Transfer config name」(移轉設定名稱) 區段,針對「Display name」(顯示名稱),輸入移轉作業的名稱,例如 My Transfer。移轉作業名稱可以是任何容易辨識的值,方便您日後在必要時進行修改。

      資料轉移設定名稱

    • 在「Schedule options」(排程選項) 區段或「Schedule」(排程) 中,保留預設值 ([Start now] (立即開始)),或按一下 [Start at a set time] (於設定的時間開始)

      • 在「Repeats」(重複時間間隔) 部分,選擇多久執行一次移轉作業的選項。

        • Daily (每天) (預設)
        • Weekly (每週)
        • Monthly (每月)
        • Custom (自訂)
        • On-demand (隨選)
      • 在「Start date and run time」(開始日期和執行時間) 部分,輸入開始移轉的日期與時間。如果您選擇 [Start now] (立即開始),就會停用此選項。

        轉移作業時間表

    • 在 [Destination dataset] (目的地資料集) 區段,針對「Destination dataset」(目的地資料集),選擇您建立來儲存資料的資料集。

      移轉資料集

    • 在「Data source details」(資料來源詳細資料) 區段:

      • 針對 [Customer ID] (客戶 ID),輸入您的客戶 ID 或管理員帳戶。
      • 勾選 [Exclude removed/disabled Items] (排除已移除/已停用的項目),以免移轉已移除或停用的實體和指標。

        Google Ads 來源詳細資料

    • (選用) 在「Notification options」(通知選項) 區段中:

      • 按一下啟用電子郵件通知的切換開關。當您啟用此選項時,移轉管理員會在移轉作業失敗時收到電子郵件通知。
      • 在「Select a Cloud Pub/Sub topic」(選取 Cloud Pub/Sub 主題) 部分,選擇您的主題名稱或按一下 [Create a topic] (建立主題)。此選項可為移轉作業設定 Cloud Pub/Sub 執行通知。移轉執行通知目前仍為 Alpha 測試版。
  5. 按一下 [Save] (儲存)

傳統版 UI

  1. 使用傳統 BigQuery 網頁版 UI

    前往 BigQuery 傳統網頁版 UI

  2. 按一下 [Transfers] (移轉作業)

  3. 按一下 [Add Transfer] (新增移轉作業)。

  4. 在「新增移轉」頁面上:

    • 針對 [Source] (來源),選擇 [Google Ads] (原名為 AdWords)
    • 在「Display name」(顯示名稱) 中,輸入移轉作業的名稱,例如 My Transfer。移轉作業名稱可以是任何容易辨識的值,方便您日後在必要時進行修改。
    • 在 [Refresh window] (更新期) 中,輸入資料移轉作業涵蓋的天數。輸入 1 表示不會每天執行補充作業。輸入 0 則會將預設更新期設為 7 天。值的上限為 30。詳情請參閱判斷資料的時效一文。
    • 針對 [Schedule] (時間表),保留預設值 (以移轉作業建立時間為時間點,間隔為每 24 小時),或按一下 [Edit] (編輯),然後變更時間。

      Google Ads 排程

    • 針對 [Destination dataset] (目的地資料集),選擇您為儲存 Google Ads 資料而建立的資料集。

    • 針對 [Customer ID] (客戶 ID),輸入您的客戶 ID 或管理員帳戶。

    • 勾選 [Exclude removed/disabled Items] (排除已移除/已停用的項目),以免移轉已移除或停用的實體和指標。

      Google Ads 移轉

    • (選用) 展開「Advanced」(進階) 區段,然後設定移轉作業的執行通知。移轉執行通知目前仍為 Alpha 版。

      • 在「Cloud Pub/Sub topic」(Cloud Pub/Sub 主題) 中輸入您的主題名稱,例如 projects/myproject/topics/mytopic
      • 勾選「Send email notifications」(傳送電子郵件通知),讓系統在移轉執行失敗時,寄送電子郵件通知。
      • 設定移轉作業時,請勿勾選 [Disabled] (已停用)。如需停用現有的移轉作業,請參閱使用移轉一文。

        Cloud Pub/Sub 主題

  5. 按一下 [Add] (新增)

  6. 出現提示時,請按一下 [Allow] (允許),讓 BigQuery 資料移轉服務有權限管理您的 Google Ads 報表資料,以及存取並管理 BigQuery 中的資料。您必須允許來自 bigquery.cloud.google.com 的彈出式視窗,才能查看權限視窗。

    允許移轉

指令列

輸入 bq mk 指令並提供轉換建立標記 — --transfer_config。以下標記也須提供:

  • --data_source
  • --target_dataset
  • --display_name
  • --params

您也可以提供 --project_id 標記,用以指定特定的專案。如未指定 --project_id,系統會使用預設的專案。

    bq mk --transfer_config --project_id=[PROJECT_ID] --target_dataset=[DATASET] --display_name=[NAME] --params='[PARAMETERS]' --data_source=[DATA_SOURCE]

其中:

  • --project_id 是您的專案 ID。
  • --target_dataset 是移轉設定的目標資料集。
  • --display_name 是移轉設定的顯示名稱。移轉名稱可以是任何容易識別並且方便您後續修改的值。
  • --params 含有已建立移轉設定的 JSON 格式參數。例如:--params='{"param":"param_value"}'。針對 Google Ads,您必須提供 customer_id 參數。您可以選擇將 exclude_removed_items 參數設為 true,以免移轉遭到移除或停用的實體和指標。
  • --data_source 是資料來源 — adwords

舉例來說,下列指令會使用客戶 ID 123-123-1234 和目標資料集 mydataset 建立名為 My Transfer 的 Google Ads 移轉作業。移轉作業是透過預設專案建立:

bq mk --transfer_config --target_dataset=mydataset --display_name='My Transfer' --params='{"customer_id":"123-123-1234","exclude_removed_items":"true"}' --data_source=adwords

首次執行指令時,您會收到像以下這樣的訊息:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

請按照訊息中的操作說明進行,在指令列中貼上驗證碼。

API

使用 projects.locations.transferConfigs.create 方法,並提供 TransferConfig 資源的執行個體。

對 Google Ads 管理員帳戶的支援

我們建議目前有多項特定客戶 ID Google Ads 移轉作業的客戶,於管理員帳戶 (MCC) 層級設定單一 Google Ads 移轉作業,安排補充作業時間,然後停用個別特定客戶 ID Google Ads 移轉作業。

使用 Google Ads 管理員帳戶比使用個別客戶 ID 多了幾項優點:

  • 不必再針對多個客戶 ID 管理要報告的多項移轉作業。
  • 由於所有客戶 ID 都儲存在同一份資料表中,因此更容易寫入跨客戶查詢。
  • 使用 MCC 可減少 BigQuery 載入配額問題,因為多個客戶 ID 會在同一項工作中載入。

如要進一步瞭解 Google Ads 管理員帳戶 (MCC),請參閱使用客戶帳戶關於將帳戶連結至管理員帳戶

範例

下列清單顯示與特定 Google Ads 管理員帳戶連結的客戶 ID:

  • 1234567890 — 根管理員帳戶
    • 1234 — 子管理員帳戶
      • 1111 — 客戶 ID
      • 2222 — 客戶 ID
      • 3333 — 客戶 ID
      • 4444 — 客戶 ID
      • 567 — 子管理員帳戶
        • 5555 — 客戶 ID
        • 6666 — 客戶 ID
        • 7777 — 客戶 ID
    • 89 — 子管理員帳戶
      • 8888 — 客戶 ID
      • 9999 — 客戶 ID
    • 0000 — 客戶 ID

每個連結至管理員帳戶的客戶 ID 都會顯示在每份報表中。如要進一步瞭解 BigQuery 的 Google Ads 報表結構,請參閱 Google Ads 報表轉換一文。

客戶 ID 1234567890 的移轉設定

根管理員帳戶 (客戶 ID 1234567890) 的移轉設定會產生包含下列客戶 ID 的移轉執行:

  • 1111 (透過子管理員帳戶 1234)
  • 2222 (透過子管理員帳戶 1234)
  • 3333 (透過子管理員帳戶 1234)
  • 4444 (透過子管理員帳戶 1234)
  • 5555 (透過子管理員帳戶 567 和子管理員帳戶 1234)
  • 6666 (透過子管理員帳戶 567 和子管理員帳戶 1234)
  • 7777 (透過子管理員帳戶 567 和子管理員帳戶 1234)
  • 8888 (透過子管理員帳戶 89)
  • 9999 (透過子管理員帳戶 89)
  • 0000 (個別客戶 ID)

客戶 ID 1234 的移轉設定

子管理員帳戶 123 (客戶 ID 123) 的移轉設定會產生包含下列客戶 ID 的移轉執行:

  • 1111
  • 2222
  • 3333
  • 4444
  • 5555 (透過子管理員帳戶 567)
  • 6666 (透過子管理員帳戶 567)
  • 7777 (透過子管理員帳戶 567)

客戶 ID 567 的移轉設定

子管理員帳戶 567 (客戶 ID 567) 的移轉設定會產生包含下列客戶 ID 的移轉執行:

  • 5555
  • 6666
  • 7777

客戶 ID 89 的移轉設定

子管理員帳戶 89 (客戶 ID 89) 的移轉設定會產生包含下列客戶 ID 的移轉執行:

  • 8888
  • 9999

客戶 ID 0000 的移轉設定

客戶 ID 0000 的移轉設定會產生只包含以下各別客戶 ID 的移轉執行:

  • 0000

將 Google Ads 資料遷移至 MCC

如要將 BigQuery 中現有的 Google Ads 資料遷移至 MCC 結構,您可以設定補充作業,將現有的資料加入由連結至管理員帳戶的移轉設定所建立的資料表。請注意,安排補充作業時間並不會更新對照表。

排解 Google Ads 移轉設定問題

如果您無法順利設定移轉作業,請參閱排解 BigQuery 資料移轉服務移轉設定問題中的 Google Ads 移轉問題一文。

查詢資料

資料移轉至 BigQuery 時,系統會將資料寫入擷取時間分區資料表。詳情請參閱分區資料表簡介一文。

如果您要直接查詢資料表,而不要使用自動產生的視圖,您必須在查詢中使用 _PARTITIONTIME 虛擬資料欄。詳情請參閱查詢分區資料表一文。

您可以使用下列 Google Ads 查詢範例來分析已移轉的資料。此外,您還可在 Cloud DatalabGoogle 數據分析這類視覺化工具中使用查詢。這些查詢可協助您開始透過 BigQuery 查詢您的 Google Ads 資料。如果您對於這些報表的功能有其他問題,請洽詢您的 Google Ads 技術代表。

在下列各項查詢中,請將 [DATASET] 替換成您的資料集名稱,並將 [CUSTOMER_ID] 替換成您的 Google Ads 客戶 ID。

這些範例使用 BigQuery 的標準 SQL 支援。您可以使用 #standardSQL 標記,讓 BigQuery 知道您要使用標準 SQL。如要進一步瞭解 #standardSQL 前置字串,請參閱設定查詢前置字串一文。

如果您要直接查詢資料表,而不要使用自動產生的視圖,您必須在查詢中使用 _PARTITIONTIME 虛擬資料欄。詳情請參閱查詢分區資料表

廣告活動成效

下列查詢範例分析了最近 30 天的 Google Ads 廣告活動成效。

主控台

#standardSQL
SELECT
  c.ExternalCustomerId,
  c.CampaignName,
  c.CampaignStatus,
  SUM(cs.Impressions) AS Impressions,
  SUM(cs.Interactions) AS Interactions,
  (SUM(cs.Cost) / 1000000) AS Cost
FROM
  `[DATASET].Campaign_[CUSTOMER_ID]` c
LEFT JOIN
  `[DATASET].CampaignBasicStats_[CUSTOMER_ID]` cs
ON
  (c.CampaignId = cs.CampaignId
   AND cs._DATA_DATE BETWEEN
   DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY))
WHERE
  c._DATA_DATE = c._LATEST_DATE
GROUP BY
  1, 2, 3
ORDER BY
  Impressions DESC

指令列

bq query --use_legacy_sql=false '
SELECT
  c.ExternalCustomerId,
  c.CampaignName,
  c.CampaignStatus,
  SUM(cs.Impressions) AS Impressions,
  SUM(cs.Interactions) AS Interactions,
  (SUM(cs.Cost) / 1000000) AS Cost
FROM
  `[DATASET].Campaign_[CUSTOMER_ID]` c
LEFT JOIN
  `[DATASET].CampaignBasicStats_[CUSTOMER_ID]` cs
ON
  (c.CampaignId = cs.CampaignId
   AND cs._DATA_DATE BETWEEN
   DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY))
WHERE
  c._DATA_DATE = c._LATEST_DATE
GROUP BY
  1, 2, 3
ORDER BY
  Impressions DESC'

關鍵字數量

下列查詢範例分析了關鍵字 (依廣告活動、廣告群組和關鍵字狀態)。這個查詢使用 KeywordMatchType 函式。關鍵字比對類型可用來控制能帶出廣告的搜尋查詢。如要進一步瞭解關鍵字比對選項,請參閱關於關鍵字比對選項一文。

主控台

#standardSQL
SELECT
  c.CampaignStatus AS CampaignStatus,
  a.AdGroupStatus AS AdGroupStatus,
  k.Status AS KeywordStatus,
  k.KeywordMatchType AS KeywordMatchType,
  COUNT(*) AS count
FROM
  `[DATASET].Keyword_[CUSTOMER_ID]` k
  JOIN
  `[DATASET].Campaign_[CUSTOMER_ID]` c
ON
  (k.CampaignId = c.CampaignId AND k.DATA_DATE = c._DATA_DATE)
JOIN
  `[DATASET].AdGroup[CUSTOMER_ID]` a
ON
  (k.AdGroupId = a.AdGroupId AND k._DATA_DATE = a._DATA_DATE)
WHERE
  k._DATA_DATE = k._LATEST_DATE
GROUP BY
  1, 2, 3, 4

指令列

bq query --use_legacy_sql=false '
SELECT
  c.CampaignStatus AS CampaignStatus,
  a.AdGroupStatus AS AdGroupStatus,
  k.Status AS KeywordStatus,
  k.KeywordMatchType AS KeywordMatchType,
  COUNT(*) AS count
FROM
  `[DATASET].Keyword_[CUSTOMER_ID]` k
JOIN
  `[DATASET].Campaign_[CUSTOMER_ID]` c
ON
  (k.CampaignId = c.CampaignId AND k._DATA_DATE = c._DATA_DATE)
JOIN
  `[DATASET].AdGroup_[CUSTOMER_ID]` a
ON
  (k.AdGroupId = a.AdGroupId AND k._DATA_DATE = a._DATA_DATE)
WHERE
  k._DATA_DATE = k._LATEST_DATE
GROUP BY
  1, 2, 3, 4'
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁