與 Google Ads 整合

本頁面說明必要設定,可將 Google Ads 的資料做為 Cortex Framework Data Foundation 行銷工作負載的資料來源。

Google Ads 是一個線上廣告平台,可讓商家在各種 Google 資源上宣傳產品或服務。Cortex Framework 會整合 Google Ads 資料和其他行銷管道,全面分析資料,並運用 AI 提升廣告活動成效。

下圖說明如何透過 Cortex Framework Data Foundation 的行銷工作負載取得 Google Ads 資料:

Google Ads 資料來源

圖 1:Google Ads 資料來源。

設定檔

config.json 檔案會設定從任何資料來源 (包括 Google Ads) 移轉資料所需的設定。這個檔案包含下列 Google Ads 參數:

  "marketing": {
          "deployGoogleAds": true,
          "GoogleAds": {
              "deployCDC": true,
              "lookbackDays": 180,
              "datasets": {
                  "cdc": "",
                  "raw": "",
                  "reporting": "REPORTING_GoogleAds"
                    }
                  }
                 }

下表說明各個 Google Ads 行銷參數的值:

參數 意義 預設值 說明
marketing.deployGoogleAds 部署 Google Ads true 執行 Google Ads 資料來源的部署作業。
marketing.GoogleAds.deployCDC 為 Google Ads 部署 CDC true 產生 Google Ads CDC 處理指令碼,在 Cloud Composer 中以 DAG 形式執行。
marketing.GoogleAds.lookbackDays Google Ads 的回溯天數 180 開始從 Google Ads API 擷取資料的天數。
marketing.GoogleAds.datasets.cdc Google Ads 適用的 CDC 資料集 Google Ads 的 CDC 資料集。
marketing.GoogleAds.datasets.raw Google Ads 原始資料集 Google Ads 的原始資料集。
marketing.GoogleAds.datasets.reporting Google Ads 報表資料集 "REPORTING_GoogleAds" Google Ads 的報表資料集。

資料模型

本節將透過實體關係圖 (ERD) 說明 Google Ads 資料模型。

Google Ads 的實體關係圖

圖 2:Google Ads:實體關係圖。

基本檢視畫面

這些是 ERD 中的藍色物件,也是 CDC 資料表上的檢視畫面,除了部分資料欄名稱別名外,沒有任何轉換。請參閱src/marketing/src/GoogleAds/src/reporting/ddls中的指令碼。

報表資料檢視

這些是 ERD 中的綠色物件,也是包含匯總指標的報表檢視畫面。請參閱src/marketing/src/GoogleAds/src/reporting/ddls中的指令碼。

API 連線

Cortex Framework 擷取範本會使用 Google Ads API,從 Google Ads 擷取報表屬性和指標。目前的 Cortex Framework 範本使用 Google Ads API 17.1 版。請注意 Google Ads API 的限制:

  • 每日基本存取作業:15000 (含有有效 next_page_token 的分頁要求不計入)。
  • 每頁最多可顯示的資料列數:10000 列。
  • 建議的預設參數:每頁大小等於每頁 10000 列。

如要進一步瞭解 API 連線,請參閱 Google Ads API 說明文件

帳戶驗證

如要設定帳戶驗證,請按照下列步驟操作:

  1. Google Cloud 控制台中,依序點選「導覽選單」>「API 和服務」>「憑證」>「建立憑證」
  2. 建立具有下列特徵的 OAuth 用戶端 ID 憑證。 詳情請參閱「使用 OAuth 2.0 存取 Google API」。

    Application type: "Web Application"
    Name: CHOSEN_NAME #(For example,"Cortex Authentication Client").
    Authorized redirect URIs: http://127.0.0.1
    

    CHOSEN_NAME 替換為 OAuth 用戶端 ID 憑證帳戶的所選名稱。

  3. 設定憑證後,請儲存 Client IDClient secret。 稍後會需要用到。

  4. 使用 OAuth 2.0 存取 Google API 產生新權杖。Cortex Data Foundation 會自動偵測並擷取所有客戶 (帳戶) 的資料,這些客戶可透過用於產生權杖的憑證存取。

  5. 使用 Secret Manager 建立密鑰

    • Google Cloud 控制台中,按一下「Secret Manager」
    • 使用下列格式建立名為 cortex-framework-google-ads-yaml 的密鑰,並根據您的設定變更值:
    {"developer_token": "DEVELOPER_TOKEN_VALUE", "refresh_token": "REFRESH_TOKEN_VALUE", "client_id": "CLIENT_ID_VALUE", "client_secret": "CLIENT_SECRET_VALUE", "use_proto_plus": False}
    

更改下列內容:

  • DEVELOPER_TOKEN_VALUE,並使用 Google Ads 帳戶中提供的開發人員權杖值。
  • REFRESH_TOKEN_VALUE 換成步驟 4 中取得的重新整理權杖值。
  • CLIENT_ID_VALUE 替換為您在步驟 2 的 OAuth 設定中取得的用戶端 ID 值。
  • CLIENT_SECRET_VALUE,並在步驟 2 的 OAuth 設定中取得用戶端密鑰值。

資料更新間隔和延遲

一般來說,Cortex Framework 資料來源的資料更新頻率取決於上游連線允許的頻率,以及 DAG 的執行頻率。調整 DAG 執行頻率,以配合上游頻率、資源限制和業務需求。

使用 Google Ads API 擷取的資料通常會有 3 小時以上的延遲。系統可能會在之後根據轉換和無效流量偵測結果調整收益。詳情請參閱 Google Ads 說明中心的「關於資料即時性」一文。

Cloud Composer 連線權限

在 Cloud Composer 中建立下列連線。詳情請參閱「管理 Airflow 連線」說明文件。

連線名稱 目的
googleads_raw_dataflow Google Ads API > BigQuery 原始資料集。
googleads_cdc_bq 原始資料集 > CDC 資料集移轉。
googleads_reporting_bq 將 CDC 資料集轉移至報表資料集。

Cloud Composer 服務帳戶權限

將 Dataflow 權限授予 Cloud Composer 中使用的服務帳戶 (如googleads_raw_dataflow連線中設定)。請參閱 Dataflow 說明文件中的操作說明。

內容攝入設定

透過 src/GoogleAds/config/ingestion_settings.yaml 檔案中的設定,控制 Source to RawRaw to CDC 資料管道。本節說明各資料管道的參數。

來源到原始資料表

本節說明 API 擷取的實體和方式。每個項目都對應一個 Google Ads 實體。根據這項設定,Cortex 會建立 Airflow DAG,執行 Dataflow 管道,並使用 Google Ads API 擷取資料。

下列參數可控制每個項目的 Source to Raw 設定:

參數 說明
load_frequency 這個實體的 DAG 從 Google Ads 擷取資料的頻率。如要進一步瞭解可能的值,請參閱 Airflow 說明文件
api_name API 資源名稱 (例如 customer)。
table_name 原始資料集中的資料表,用於儲存擷取的資料 (例如 customer)。
schema_file src/table_schema 目錄中的結構定義檔案,可將 API 回應欄位對應至目的地資料表的資料欄名稱。
key 以逗號分隔的資料欄,這些資料欄會構成這個資料表的專屬記錄。
is_metrics_table 指出指定項目是否為指標實體 (在 Google Ads API 中)。由於這類表格的性質為匯總,系統會以稍微不同的方式處理。
partition_details 選用:如要根據效能考量分割這個表格,詳情請參閱「資料表分區」。
cluster_details 選用:如要根據成效考量,將這個表格叢集化,詳情請參閱「叢集設定」。

原始資料表到 CDC 資料表

本節說明哪些項目會控管資料從原始資料表移至 CDC 資料表的方式。每個項目都對應一個原始表格 (而原始表格又對應到前述的 Google Ads API 實體)。

下列參數可控制每個項目的 Raw to CDC 設定:

參數 說明
table_name CDC 資料集中的資料表,用於儲存 CDC 轉換後的原始資料 (例如 customer)。
raw_table 已複製原始資料的資料表。
key 以逗號分隔的資料欄,可構成這個資料表的專屬記錄。
load_frequency 這個實體的 DAG 執行頻率,用於填入 CDC 資料表。如要進一步瞭解可能的值,請參閱 Airflow 說明文件
schema_file src/table_schema 目錄中的結構定義檔案,可將原始資料欄對應至 CDC 資料欄,以及 CDC 資料欄的資料類型。這與上一節中提及的結構定義檔案相同。
partition_details 選用:如要根據效能考量分割這個表格,詳情請參閱「資料表分區」。
cluster_details 選用:如要根據成效考量,將這個表格叢集化,詳情請參閱「叢集設定」。

報表設定

您可以使用報表設定檔 src/GoogleAds/config/reporting_settings.yaml,設定及控管 Cortex 架構產生 Google Ads 最終報表層資料的方式。這個檔案會控管報表層 BigQuery 物件 (資料表、檢視區塊、函式或預存程序) 的產生方式。

詳情請參閱「自訂報表設定檔」。

後續步驟