Google Ad Manager 移轉作業

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

支援的報表

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

如要瞭解 Google Ad Manager 報表如何轉換成 BigQuery 資料表和視圖,請參閱 Google Ad Manager 報表轉換一文。

報表選項 支援
支援的 API 版本 v201802
排程

每 8 小時 (根據建立時間)。

無法設定

更新期

過去 2 天

無法設定

補充作業時間上限

過去 60 天

Google Ad Manager 最多會保留資料移轉檔案 60 天。超過 60 天後,Google Ad Manager 就會刪除這些檔案。

事前準備

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

  • 確認您已完成啟用 BigQuery 資料移轉服務的一切必要動作。
  • 建立 BigQuery 資料集以儲存 Google Ad Manager 資料。
  • 確認貴機構可存取 Google Ad Manager 資料移轉 (Google Ad Manager DT) 檔案。 這些檔案會由 Google Ad Manager 小組傳送至 Cloud Storage 值區。如要取得 Google Ad Manager DT 檔案的存取權,請完成下列步驟。Google Ad Manager 小組可能會向您收取額外費用。

    • 查看資料移轉報表總覽
    • 按一下頁面右上角的 [與我們聯絡]
    • 按一下 [Reports] (報表)
    • 透過電子郵件或即時通訊與代表人員聯絡,並詢問有關 Google Ad Manager 資料移轉檔案存取權的事宜。

    完成上述步驟後,您會收到與下列字串類似的 Cloud Storage 值區:

    gdfp-12345678

    Google Cloud 小組無法代表您產生或授予 Google Ad Manager DT 檔案的存取權。請與 Google Ad Manager 支援小組聯絡,詢問有關 Google Ad Manager DT 檔案存取權的事宜。

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

    • BigQuery:確認建立移轉的人員在 BigQuery 中具有以下權限:

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

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

    • Google Ad Manager:儲存在 Cloud Storage 中的 Google Ad Manager DT 檔案的讀取權限。Google Ad Manager DT 檔案的權限是由 Google Ad Manager 小組管理。

    設定 Google Ad Manager 移轉作業

    針對 Google Ad Manager 設定 BigQuery 資料移轉作業需要下列項目:

    • Cloud Storage 值區:Google Ad Manager DT 檔案的 Cloud Storage 值區 URI,如事前準備一節所述。值區名稱應如下所示:

      gdfp-12345678
    • 網路代碼:您可以在登入網路時的網址中找出 Google Ad Manager 網路代碼。舉例來說,在 https://admanager.google.com/2032576#delivery 這個網址中,2032576 是您的網路代碼。詳情請參閱開始使用 Google Ad Manager 一文。

    如要為 Google Ad Manager 建立 BigQuery 資料移轉服務移轉作業,請進行以下操作:

    主控台

    1. 前往 BigQuery 網頁版 UI。

      前往 BigQuery 網頁版 UI

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

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

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

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

        移轉作業來源

      • 在「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」(資料來源詳細資料) 區段:

        • 在 [Cloud Storage bucket] (Cloud Storage 值區),輸入用來儲存資料移轉檔案的 Cloud Storage 值區名稱。輸入值區名稱時,請不要加入 gs://
        • 在 [Network code] (網路代碼) 中,輸入您的網路代碼。

          Google Ad Manager 來源詳細資料

      • (選用) 在「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 Ad Manager] (原名為 DFP)
      • 在「Display name」(顯示名稱) 中,輸入移轉作業的名稱,例如 My Transfer。顯示名稱可以是任何容易辨識的值,方便您日後在必要時進行修改。
      • 針對「Destination dataset」(目的地資料集),選擇適當的資料集。
      • 在 [Cloud Storage bucket] (Cloud Storage 值區),輸入用來儲存資料移轉檔案的 Cloud Storage 值區名稱。輸入值區名稱時,請不要加入 gs://
      • 在 [Network code] (網路代碼) 中,輸入您的網路代碼。

        頻道移轉

      • (選用) 展開「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 Ad Manager 報表資料並管理 BigQuery 中的資料。您必須允許來自 bigquery.cloud.google.com 的彈出式視窗,才能查看權限視窗。

      允許移轉

    指令列

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

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

      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 Ad Manager,您必須提供 bucketnetwork_code 參數。bucket 是包含您 Google Ad Manager DT 檔案的 Cloud Storage 值區,network_code 則是您的網路代碼。
    • --data_source 是資料來源:dfp_dt (Google Ad Manager)。

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

    舉例來說,下列指令會使用網路代碼 12345678、Cloud Storage 值區 gdfp-12345678和目標資料集 mydataset,建立名為 My Transfer 的 Google Ad Manager 移轉作業。移轉作業會在預設專案內建立:

    bq mk --transfer_config --target_dataset=mydataset --display_name='My Transfer' --params='{"bucket": "gdfp-12345678","network_code": "12345678"}' --data_source=dfp_dt
    

    執行指令後,您會收到如下的訊息:

    [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 Ad Manager 移轉設定問題

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

    查詢資料

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

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

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

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

    在下列各項查詢中,請將 [DATASET] 替換成您的資料集名稱,並將 [NETWORK_CODE] 替換成您的 Google Ad Manager 網路代碼。

    各個城市的曝光次數和不重複使用者人數

    以下查詢範例會分析過去 30 天內各個城市的曝光次數和不重複使用者人數。

    主控台

    #standardSQL
    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    SELECT
      City,
      _DATA_DATE AS Date,
      count(*) AS imps,
      count(distinct UserId) AS uniq_users
    FROM `[DATASET].NetworkImpressions[NETWORK_CODE]`
    WHERE
      _DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
    GROUP BY City, Date
    

    指令列

    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    bq query --use_legacy_sql=false '
    SELECT
      City,
      _DATA_DATE AS Date,
      count(*) AS imps,
      count(distinct UserId) AS uniq_users
    FROM `[DATASET].NetworkImpressions_[NETWORK_CODE]`
    WHERE
      _DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
    GROUP BY City, Date'
    

    各個委刊項類型的曝光次數和不重複使用者人數

    以下查詢範例會分析過去 30 天內各個委刊項類型的曝光次數和不重複使用者人數。

    主控台

    #standardSQL
    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    SELECT
      MT.LineItemType AS LineItemType,
      DT._DATA_DATE AS Date,
      count(*) AS imps,
      count(distinct UserId) AS uniq_users
    FROM `[DATASET].NetworkImpressions[NETWORK_CODE]` AS DT
    LEFT JOIN `[DATASET].MatchTableLineItem_[NETWORK_CODE]` AS MT
    ON
      DT.LineItemId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
    GROUP BY LineItemType, Date
    ORDER BY Date desc, imps desc
    

    指令列

    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    bq query --use_legacy_sql=false '
    SELECT
      MT.LineItemType AS LineItemType,
      DT._DATA_DATE AS Date,
      count(*) AS imps,
      count(distinct UserId) AS uniq_users
    FROM `[DATASET].NetworkImpressions_[NETWORK_CODE]` AS DT
    LEFT JOIN `[DATASET].MatchTableLineItem_[NETWORK_CODE]` AS MT
    ON
      DT.LineItemId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
    GROUP BY LineItemType, Date
    ORDER BY Date desc, imps desc'
    

    各個廣告單元的曝光次數

    以下查詢範例會分析過去 30 天內各個廣告單元的曝光次數。

    主控台

    #standardSQL
    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    SELECT
      MT.AdUnitCode AS AdUnitCode,
      DT.DATA_DATE AS Date,
      count(*) AS imps
    FROM `[DATASET].NetworkImpressions[NETWORK_CODE]` AS DT
    LEFT JOIN `[DATASET].MatchTableLineItem_[NETWORK_CODE]` AS MT
    ON
      DT.AdUnitId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
    GROUP BY AdUnitCode, Date
    ORDER BY Date desc, imps desc
    

    指令列

    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    bq query --use_legacy_sql=false '
    SELECT
      MT.AdUnitCode AS AdUnitCode,
      DT._DATA_DATE AS Date,
      count(*) AS imps
    FROM `[DATASET].NetworkImpressions_[NETWORK_CODE]` AS DT
    LEFT JOIN `[DATASET].MatchTableLineItem_[NETWORK_CODE]` AS MT
    ON
      DT.AdUnitId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
    GROUP BY AdUnitCode, Date
    ORDER BY Date desc, imps desc'
    

    各個委刊項的曝光次數

    以下查詢範例會分析過去 30 天內各個委刊項的曝光次數。

    主控台

    #standardSQL
    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    SELECT
      MT.Name AS LineItemName,
      DT._DATA_DATE AS Date,
      count(*) AS imps
    FROM `[DATASET].NetworkImpressions[NETWORK_CODE]` AS DT
    LEFT JOIN `[DATASET].MatchTableLineItem_[NETWORK_CODE]` AS MT
    ON
      DT.LineItemId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
    GROUP BY LineItemName, Date
    ORDER BY Date desc, imps desc
    

    指令列

    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    bq query --use_legacy_sql=false '
    SELECT
      MT.Name AS LineItemName,
      DT._DATA_DATE AS Date,
      count(*) AS imps
    FROM `[DATASET].NetworkImpressions_[NETWORK_CODE]` AS DT
    LEFT JOIN `[DATASET].MatchTableLineItem_[NETWORK_CODE]` AS MT
    ON
      DT.LineItemId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN [START_DATE] AND [END_DATE]
    GROUP BY LineItemName, Date
    ORDER BY Date desc, imps desc'
    
    本頁內容對您是否有任何幫助?請提供意見:

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

    這個網頁