使用 Azure Data Factory 或 Synapse Analytics,從 Google Ads 複製資料

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

此文章概述如何使用 Azure Data Factory 或 Synapse Analytics 管線中的複製活動,從 Google Ads 複製資料。 本文是根據複製活動概觀一文,該文提供複製活動的一般概觀。

重要

請在 2024 年 2 月 18 日之前升級 Google Ads 驅動程式版本。 如果沒有升級,連線將會因舊版驅動程式遭淘汰而開始失敗,並發生錯誤

支援的功能

此 Google Ads 連接器支援下列功能:

支援的功能 IR
複製活動 (來源/-) ① ②
查閱活動 ① ②

① Azure 整合執行階段 ② 自我裝載整合執行階段

如需支援做為來源/接收器的資料存放區清單,請參閱支援的資料存放區表格。

此服務提供的內建驅動程式可啟用連線,因此,您不需手動安裝任何驅動程式,即可使用此連接器。

開始使用

若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:

使用 UI 建立連結至 Google Ads 的服務

使用下列步驟,在 Azure 入口網站 UI 中建立連結至 Google Ads 的服務。

  1. 前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:

  2. 搜尋 Google Ads 並選取 Google Ads 連接器。

    Screenshot of the Google Ads connector.

  3. 設定服務詳細資料,測試連線,然後建立新的連結服務。

    Screenshot of linked service configuration for Google Ads.

連接器設定詳細資料

下列各節提供屬性的相關詳細資料,這些屬性是用來定義 Google Ads 連接器專屬的 Data Factory 實體。

連結服務屬性

以下是針對 Google Ads 已連結服務支援的屬性:

屬性 描述 必要
type type 屬性必須設定為:GoogleAdWords Yes
googleAdsApiVersion 選取建議驅動程式版本時所使用的 Google Ads API 版本。 如需 API 版本資訊,請參閱這篇文章 Yes
clientCustomerID 要擷取其報告資料的 Ads 帳戶用戶端客戶識別碼。 Yes
loginCustomerID Google Ads 管理員帳戶的客戶識別碼,透過此帳戶可擷取特定客戶報告資料的帳戶。 No
developerToken 與用來授與 Ads API 存取權的管理員帳戶相關聯的開發人員權杖。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 Yes
authenticationType 用於驗證的 OAuth 2.0 驗證機制。
允許的值為:ServiceAuthenticationUserAuthentication
ServiceAuthentication 只能在自我裝載 IR 上使用。
Yes
針對 UserAuthentication=0
refreshToken 從 Google 取得的重新整理權杖,用於針對 UserAuthentication 授權存取 Ads。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 No
clientId 用來取得重新整理權杖的 Google 應用程式用戶端識別碼。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 No
clientSecret 用來取得重新整理權杖的 Google 應用程式用戶端密碼。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 No
針對 ServiceAuthentication
電子郵件 服務帳戶電子郵件識別碼,用於 ServiceAuthentication 且只能在自我裝載 IR 上使用。 No
privateKey ServiceAuthentication 建議驅動程式版本所使用的服務私密金鑰,且只能在自我裝載 IR 上使用。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 No
針對使用舊版驅動程式的 ServiceAuthentication
電子郵件 服務帳戶電子郵件識別碼,用於 ServiceAuthentication 且只能在自我裝載 IR 上使用。 No
keyFilePath .p12.json 金鑰檔的完整路徑,用來驗證服務帳戶電子郵件地址且只能在自我裝載 IR上使用。 No
trustedCertPath .pem 檔案的完整路徑,其中包含在透過 TLS 連線時,用來驗證伺服器的受信任 CA 憑證。 只有在自我裝載 IR 上使用 TLS 時,才能設定這個屬性。 預設值為隨 IR 安裝的 cacerts.pem 檔案。 No
useSystemTrustStore 指定是否使用來自系統信任存放區或來自指定 PEM 檔案的 CA 憑證。 預設值為 false。 No

範例:

{
    "name": "GoogleAdsLinkedService",
    "properties": {
        "type": "GoogleAdWords",
        "typeProperties": {
            "clientCustomerID": "<clientCustomerID>",
            "loginCustomerID": "<loginCustomerID>",
            "developerToken": {
                "type": "SecureString",
                "value": "<developerToken>"
            },
            "authenticationType": "UserAuthentication",
            "refreshToken": {
                "type": "SecureString",
                "value": "<refreshToken>"
            },
            "clientId": {
                "type": "SecureString",
                "value": "<clientId>"
            },
            "clientSecret": {
                "type": "SecureString",
                "value": "<clientSecret>"
            },
            "googleAdsApiVersion": "v14"
        }
    }
}

資料集屬性

如需可用來定義資料集的區段和屬性完整清單,請參閱資料集一文。 本節提供 Google Ads 資料集所支援的屬性清單。

若要從 Google Ads 複製資料,請將資料集的 type 屬性設定為 GoogleAdWordsObject。 以下是支援的屬性:

屬性 描述 必要
type 資料集的類型屬性必須設為:GoogleAdWordsObject Yes
tableName 資料表的名稱。 當您使用舊版驅動程式時,請指定此屬性。 否 (如果已指定活動來源中的「查詢」)

範例

{
    "name": "GoogleAdsDataset",
    "properties": {
        "type": "GoogleAdWordsObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<GoogleAds linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

複製活動屬性

如需可用來定義活動的區段和屬性完整清單,請參閱管線一文。 本節提供 Google Ads 來源所支援的屬性清單。

若要從 Google Ads 複製資料,請將複製活動中的來源類型設定為 GoogleAdWordsSource。 複製活動的 source 區段支援下列屬性:

屬性 描述 必要
type 複製活動來源的 type 屬性必須設定為 GoogleAdWordsSource Yes
query 使用 GAQL 查詢來讀取資料。 例如: SELECT campaign.id FROM campaign 否 (如果已指定資料集中的 "tableName")

範例:

"activities":[
    {
        "name": "CopyFromGoogleAds",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<GoogleAds input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GoogleAdWordsSource",
                "query": "SELECT campaign.id FROM campaign"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

查閱活動屬性

若要了解屬性的詳細資料,請參閱查閱活動

升級 Google Ads 驅動程式版本

若要升級 Google Ads 驅動程式版本,您需要更新連結服務,並了解如何從 SQL 移轉至 Google Ads Query Language (GAQL)。

更新連結服務設定

在 [編輯連結服務] 頁面中,選取 [驅動程式版本] 底下的 [建議],並參考 [連結服務屬性] 來設定連結的服務。

從 SQL 移轉至 GAQL

從 SQL 移轉至 GAQL 時,將您的查詢陳述式和欄位名稱轉換成 GAQL。

查詢陳述式

如果您在參照舊版 Google Ads 連結服務的複製活動來源或查閱活動中使用 SQL 查詢,則必須將其更新為 GAQL 查詢。

相較於 SQL,GAQL 中的查詢是由六種子句所組成:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • PARAMETERS

前往 Google Ads Query Language 文法以取得 GAQL 的簡介。

以下列 SQL 陳述式為例:

SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value

您可以遵循下列指引,將 SQL 陳述式轉換成對應的 GAQL 陳述式:

  1. 如果在 SELECT 子句之後使用 * (星號),由於 GAQL 不支援 SELECT *,因此您需要指定所有必要的欄位來取代星號。 前往此文章以查看特定資源中的所有可選取欄位。
  2. 如果在 SELECT 子句之後使用欄位名稱,則您必須將名稱轉換成 GAQL 中對應的欄位名稱,因為兩者的命名慣例不同。 例如,SQL 查詢陳述式中的欄位名稱 campaign_id 應該轉換成 GAQL 中的 campaign.id。 如需欄位名稱轉換的詳細資訊,請參閱欄位名稱
  3. 資源名稱可以保留原樣,除非資源名稱與此處指定的大小寫不一致。
  4. WHERE 子句應該根據 GAQL 文法進行更新,因為 GAQL 支援的運算子與 SQL 不一致,且欄位名稱也應該依照第二點所述進行轉換。

Google 有提供下列兩個非常實用的工具,強烈建議在建置對應的 GAQL 查詢陳述式時使用:

欄位名稱

SQL 中使用的欄位名稱與 GAQL 不一致。 您也需要了解將 SQL 欄位名稱轉換成 GAQL 欄位名稱的轉換規則。 轉換規則可摘要如下:

  • 如果欄位名稱屬於資源,SQL 中的底線 (_) 將會變更為 GAQL 中的點 (.)。 對於點之間的單字,SQL 中使用的 camelCase 類型陳述式將會將其變更為以底線分隔的獨立單字。 SQL 中 PascalCase 類型的第一個字串將會變更為 GAQL 中的對應資源名稱。

  • 如果欄位名稱屬於區段或計量,則在 GAQL 中應該新增前置詞 segments.metrics.,接著遵循與第一點所述的相同規則來轉換名稱。

以下是欄位名稱轉換的具體範例:

類別 SQL 中的欄位名稱 GAQL 中的欄位名稱
資源欄位 Campaign_startDate campaign.start_date
資源欄位 Customer_conversionTrackingSetting_conversionTrackingStatus customer.conversion_tracking_setting.conversion_tracking_status
區隔 DayOfWeek segments.day_of_week
計量 VideoViews metrics.video_views

將 Google AdWords 連接器升級為 Google Ads 連接器

遵循下列步驟,將您的 Google AdWords 連結服務升級為最新的 Google Ads 連結服務:

  1. 選取 [建議] 作為驅動程式版本,以建立新的 Google Ads 連結服務,並參考連結服務屬性進行設定。

  2. 將參考舊版 Google AdWords 連結服務的管線進行更新。 考慮到 Google Ads 連結服務僅支援使用查詢來複製資料,因此:

    1. 如果您的管線是直接從 Google AdWords 報表擷取資料,請在下表中找到對應的 Google Ads 資源名稱,並使用此工具來建置查詢。

      Google AdWords 報告 Google Ads 資源
      ACCOUNT_PERFORMANCE_REPORT 客戶
      AD_PERFORMANCE_REPORT ad_group_ad
      ADGROUP_PERFORMANCE_REPORT ad_group
      AGE_RANGE_PERFORMANCE_REPORT age_range_view
      AUDIENCE_PERFORMANCE_REPORT campaign_audience_view、ad_group_audience_view
      AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT group_placement_view
      BID_GOAL_PERFORMANCE_REPORT bidding_strategy
      BUDGET_PERFORMANCE_REPORT campaign_budget
      CALL_METRICS_CALL_DETAILS_REPORT call_view
      CAMPAIGN_AD_SCHEDULE_TARGET_REPORT ad_schedule_view
      CAMPAIGN_CRITERIA_REPORT campaign_criterion
      CAMPAIGN_PERFORMANCE_REPORT campaign
      CAMPAIGN_SHARED_SET_REPORT campaign_shared_set
      CAMPAIGN_LOCATION_TARGET_REPORT location_view
      CLICK_PERFORMANCE_REPORT click_view
      DISPLAY_KEYWORD_PERFORMANCE_REPORT display_keyword_view
      DISPLAY_TOPICS_PERFORMANCE_REPORT topic_view
      GENDER_PERFORMANCE_REPORT gender_view
      GEO_PERFORMANCE_REPORT geographic_view、user_location_view
      KEYWORDLESS_QUERY_REPORT dynamic_search_ads_search_term_view
      KEYWORDS_PERFORMANCE_REPORT keyword_view
      LABEL_REPORT label
      LANDING_PAGE_REPORT landing_page_view、expanded_landing_page_view
      PAID_ORGANIC_QUERY_REPORT paid_organic_search_term_view
      PARENTAL_STATUS_PERFORMANCE_REPORT parental_status_view
      PLACEHOLDER_FEED_ITEM_REPORT feed_item、feed_item_target
      PLACEHOLDER_REPORT feed_placeholder_view
      PLACEMENT_PERFORMANCE_REPORT managed_placement_view
      PRODUCT_PARTITION_REPORT product_group_view
      SEARCH_QUERY_PERFORMANCE_REPORT search_term_view
      SHARED_SET_CRITERIA_REPORT shared_criterion
      SHARED_SET_REPORT shared_set
      SHOPPING_PERFORMANCE_REPORT shopping_performance_view
      TOP_CONTENT_PERFORMANCE_REPORT 在 Google Ads API 中已不再支援。
      URL_PERFORMANCE_REPORT detail_placement_view
      USER_AD_DISTANCE_REPORT distance_view
      VIDEO_PERFORMANCE_REPORT 影片
    2. 如果管線使用查詢從 Google AdWords 擷取資料,請使用查詢移轉工具將 AWQL (AdWords Query Language) 轉譯為 GAQL (Google Ads Query Language)。

  3. 請注意,此升級有下列限制:

    1. GAQL 未支援 AWQL 的所有報表類型。
    2. 並非所有 AWQL 查詢都會完全轉譯為 GAQL 查詢。

如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區