Azure Data Factory または Azure Synapse Analytics を使用して Google Ads からデータをコピーする
適用対象: Azure Data Factory Azure Synapse Analytics
ヒント
企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。
この記事では、Azure Data Factory および Azure Synapse Analytics パイプラインで Copy アクティビティを使用して、Google Ads からデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。
重要
2024 年 2 月 18 日までに Google Ads ドライバーのバージョンをアップグレードしてください。 そうでない場合は、レガシ ドライバが廃止されたためにエラーが発生して接続が失敗するようになります。
サポートされる機能
この Google Ads コネクタは、次の機能でサポートされます。
サポートされる機能 | IR |
---|---|
Copy アクティビティ (ソース/-) | ① ② |
Lookup アクティビティ | ① ② |
① Azure 統合ランタイム ② セルフホステッド統合ランタイム
ソースおよびシンクとしてサポートされているデータ ストアの一覧については、「サポートされているデータ ストア」の表を参照してください。
このサービスでは接続を有効にする組み込みのドライバーが提供されるので、このコネクタを使用してドライバーを手動でインストールする必要はありません。
作業の開始
パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。
UI を使用して Google Ads のリンク サービスを作成する
次の手順を使用して、Azure portal UI で Google Ads のリンク サービスを作成します。
Azure Data Factory または Synapse ワークスペースの Manage タブに移動して、[Linked Services](リンク サービス)、[New](新規) を順にクリックします。
Google Ads を検索し、Google Ads コネクタを選択します。
サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。
コネクタの構成の詳細
次のセクションでは、Google Ads コネクタに固有の Data Factory エンティティを定義するために使用されるプロパティについて詳しく説明します。
リンクされたサービス プロパティ
Google Ads のリンクされたサービスには、次のプロパティがサポートされます。
プロパティ | 内容 | 必須 |
---|---|---|
type | type プロパティは、次のように設定する必要があります:GoogleAdWords | はい |
googleAdsApiVersion | 推奨されるドライバー バージョンを選んだときの Google Ads API のバージョン。 API のバージョン情報については、こちらの記事を参照してください。 | はい |
clientCustomerID | レポート データをフェッチする対象の、Ads アカウントのクライアント顧客 ID。 | はい |
loginCustomerID | 特定の顧客のレポート データのフェッチに使用する、Google Ads マネージャー アカウントの顧客 ID。 | いいえ |
developerToken | Ads API へのアクセスを許可するために使用する、マネージャー アカウントに関連付けられている開発者トークン。 このフィールドを SecureString としてマークして ADF に安全に格納するか、Azure Key Vault にパスワードを格納し、データ コピーの実行時に Copy アクティビティでそこからプルするかを選択できます。詳しくは、Key Vault への資格情報の格納に関するページをご覧ください。 | はい |
authenticationType | 認証に使用される OAuth 2.0 認証メカニズム。 使用可能な値: ServiceAuthentication、UserAuthentication。 ServiceAuthentication はセルフホステッド IR のみで使用できます。 |
はい |
UserAuthentication の場合: | ||
refreshToken | UserAuthentication で Ads へのアクセスを承認するために Google から取得した更新トークン。 このフィールドを SecureString としてマークして ADF に安全に格納するか、Azure Key Vault にパスワードを格納し、データ コピーの実行時に Copy アクティビティでそこからプルするかを選択できます。詳しくは、Key Vault への資格情報の格納に関するページをご覧ください。 | いいえ |
clientId | 更新トークンを取得するために使用される Google アプリケーションのクライアント ID。 このフィールドを SecureString としてマークして ADF に安全に格納するか、Azure Key Vault にパスワードを格納し、データ コピーの実行時に Copy アクティビティでそこからプルするかを選択できます。詳しくは、Key Vault への資格情報の格納に関するページをご覧ください。 | いいえ |
clientSecret | 更新トークンを取得するために使用される google アプリケーションのクライアント シークレット。 このフィールドを SecureString としてマークして ADF に安全に格納するか、Azure Key Vault にパスワードを格納し、データ コピーの実行時に Copy アクティビティでそこからプルするかを選択できます。詳しくは、Key Vault への資格情報の格納に関するページをご覧ください。 | いいえ |
ServiceAuthentication の場合: | ||
メール | ServiceAuthentication で使用されるサービス アカウントの電子メール ID。これはセルフホステッド IR のみで使用できます。 | いいえ |
privateKey | 推奨ドライバー バージョンの ServiceAuthentication で使用されるサービス プライベート キーは、セルフホステッド IR のみで使用できます。 このフィールドを SecureString としてマークして ADF に安全に格納するか、Azure Key Vault にパスワードを格納し、データ コピーの実行時に Copy アクティビティでそこからプルするかを選択できます。詳しくは、Key Vault への資格情報の格納に関するページをご覧ください。 | いいえ |
レガシ ドライバーのバージョンを使用する ServiceAuthentication の場合: | ||
メール | ServiceAuthentication で使用されるサービス アカウントの電子メール ID。これはセルフホステッド IR のみで使用できます。 | いいえ |
keyFilePath | サービス アカウントのメール アドレスを認証するために使用される .p12 または .json キー ファイルへの完全なパス。これはセルフホステッド IR でのみ使用できます。 |
いいえ |
trustedCertPath | TLS 経由で接続するときにサーバーを検証するための信頼された CA 証明書を含む .pem ファイルの完全なパス。 このプロパティは、セルフホステッド IR 上で TLS を使用している場合にのみ設定できます。 既定値は、IR でインストールされる cacerts.pem ファイルです。 | いいえ |
useSystemTrustStore | システムの信頼ストアと指定した PEM ファイルのどちらの CA 証明書を使用するかを指定します。 既定値は false です。 | いいえ |
例:
{
"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 | データセットの type プロパティは、次のように設定する必要があります:GoogleAdWordsObject | はい |
tableName | テーブルの名前。 レガシ ドライバーのバージョンを使用する場合は、このプロパティを指定してください。 | いいえ (アクティビティ ソースの "query" が指定されている場合) |
例
{
"name": "GoogleAdsDataset",
"properties": {
"type": "GoogleAdWordsObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleAds linked service name>",
"type": "LinkedServiceReference"
}
}
}
コピー アクティビティのプロパティ
アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、Google Ads ソースでサポートされるプロパティの一覧を示します。
ソースとしての Google Ads
Google Ads からデータをコピーするには、コピー アクティビティでのソースの種類を GoogleAdWordsSource に設定します。 コピー アクティビティの source セクションでは、次のプロパティがサポートされます。
プロパティ | 内容 | 必須 |
---|---|---|
type | コピー アクティビティのソースの type プロパティは、次のように設定する必要があります:GoogleAdWordsSource | はい |
クエリ | 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>"
}
}
}
]
Lookup アクティビティのプロパティ
プロパティの詳細については、Lookup アクティビティに関するページを参照してください。
Google Ads ドライバーのバージョンをアップグレードする
Google Ads ドライバーのバージョンをアップグレードするには、リンク サービスを更新し、SQL から Google Ads Query Language (GAQL) への移行方法を学ぶ必要があります。
リンク サービス構成を更新する
[リンク サービスの編集] ページで、[ドライバーのバージョン] で [推奨] を選択し、[リンクされたサービスのプロパティ] を参照してリンク サービスを構成します。
SQL から GAQL への移行
SQL から GAQL への移行時に、クエリ ステートメントとフィールド名を変換します。
クエリ ステートメント
レガシ Google Ads リンク サービスを参照するコピー アクティビティのソースまたは検索アクティビティで SQL クエリを使用する場合は、それらを GAQL クエリに更新する必要があります。
SQL とは対照的に、GAQL のクエリは次の 6 種類の句で構成されています。
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
GAQL の概要については、「Google Ads Query 言語の文法」を参照してください。
例として、次の SQL ステートメントを取り上げます。
SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value
次のガイダンスに従って、SQL ステートメントを対応する GAQL ステートメントに変換できます。
SELECT
句の後に*
(アスタリスク) を使用した場合、GAQL はSELECT *
をサポートしていないため、アスタリスクの代わりにすべての必須フィールドを指定する必要があります。 この記事にアクセスすると、特定のリソースで選択可能なすべてのフィールドを確認できます。- フィールド名が
SELECT
句の後に使用されている場合、GAQL の命名規則が異なるため、その名前を GAQL の対応するフィールド名に変換する必要があります。 たとえば、SQL クエリ ステートメントのフィールド名campaign_id
は、GAQL ではcampaign.id
に変換する必要があります。 フィールド名の変換に関する詳細については、「フィールド名」を参照してください。 - リソース名は、ここで指定されたものと大文字と小文字の区別が矛盾しない限り、そのままにすることができます。
WHERE
句は、GAQL でサポートされる演算子が SQL と整合していないため、GAQL 文法に従って更新する必要があります。また、フィールド名も 2 番目のポイントで説明したとおりに変換する必要があります。
以下は、Google で提供される 2 つの非常に便利なツールで、対応する GAQL クエリ ステートメントを構築する際に強くお勧めします。
フィールド名
SQL で使用されるフィールド名は、GAQL と一致していません。 また、SQL のフィールド名から GAQL のフィールド名への変換規則も学ぶ必要があります。 この変換規則をまとめると次のようになります。
フィールド名がリソースに属する場合、SQL のアンダースコア (
_
) は GAQL ではドット (.
) に変更されます。 また、ドット間の単語については、SQL で使用されているキャメルケースのステートメントの種類が、ドット間にアンダースコアを追加した単独の単語に変更されます。 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 広告の違い
次の表は、推奨ドライバー バージョンとレガシ ドライバー バージョンを使った Google 広告の機能の違いを示しています。
推奨ドライバー バージョン | レガシ ドライバー バージョン |
---|---|
Google 広告 API のバージョンの指定がサポートされています。 | Google 広告 API のバージョンの指定はサポートされていません。 |
ServiceAuthentication は次の 2 つのプロパティをサポートしています。 • privateKey |
ServiceAuthentication は次の 4 つのプロパティをサポートしています。 • keyFilePath • trustedCertPath • useSystemTrustStore |
データセット内のテーブルの選択はサポートされていません。 | データセット内のテーブルの選択と、コピー アクティビティでのテーブルのクエリをサポートします。 |
クエリ言語として GAQL 構文をサポートします。 | クエリ言語として SQL 構文をサポートします。 |
出力列名は、Google 広告で定義されているフィールド名と同じです。 | 出力列名は Google 広告で定義されたフィールド名と一致しません。 |
Google 広告のデータ型から、サービスによって内部的に使用される中間データ型への、以下のマッピングが使用されます。 float -> float int32 -> int int64 -> long |
Google 広告のデータ型から、サービスによって内部的に使用される中間データ型への、以下のマッピングが使用されます。 float -> string int32 -> string int64 -> string |
Google AdWords コネクタを Google Ads コネクタにアップグレードする
以下の手順に従って、Google AdWords リンク サービスを最新の Google Ads リンク サービスにアップグレードしてください。
ドライバーのバージョンとして [推奨] を選択して、新しい Google Ads のリンク サービスを作成し、「リンク サービスのプロパティ」を参照して構成します。
レガシ Google AdWords リンク サービスを参照するパイプラインを更新します。 Google Ads のリンク サービスは、クエリを使用したデータのコピーのみサポートしていることを考慮してください。
パイプラインが 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_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 ビデオ パイプラインが Google AdWords からデータを取得するためにクエリを使用している場合は、[クエリ移行ツール] を使用して AWQL (AdWords クエリ言語) を GAQL (Google Ads クエリ言語) に変換します。
このアップグレードには特定の制限があることに注意してください。
- AWQL のすべてのレポートの種類が GAQL でサポートされているわけではありません。
- すべての AWQL クエリが GAQL クエリに明確に変換されるわけではありません。
関連するコンテンツ
Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。