Apple Search Adsデータ統合ソリューション
最終更新日:2022-07-18
1. 統合プランの紹介
サードパーティデータ統合によって生成されたデータは、クラスターの消費データ量に含まれますのでご注意ください
概要
本記事では、Apple Search AdsのデータをAgentic Engine(以下、AEシステム)にコールバックする方法を説明します。本プランは次に対応しています:
- Apple Search Ads Report APIで、露出、クリック、インストール、コストの指標を含む集計指標データをコールバック
流れ
Apple Search Adsデータの統合の流れは次のとおりです:
-
API権限を持つユーザーを作成します(このようなユーザーがすでに存在する場合は、この手順をスキップできます)
-
秘密鍵と公開鍵を生成し、API権限を持つユーザーでApple Search Ads管理画面にログインして公開鍵をアップロードし、ThinkingAIの担当者に次の情報を提供します:
- client_id
- team_id
- key_id
- 秘密鍵ファイル
-
取得するデータのディメンション、指標タイプ、取得頻度、取得する時間範囲を決めます
-
ThinkingAIの担当者がデータ取得の開発作業を行います
-
AE管理画面でダッシュボードやレポートを作成し、データ検証を完了します
2. 統合前の準備
ASAのデータを取得する前に、まずAccess Tokenを生成する必要があります。全体の流れは次のステップに分かれています:
- APIアクセス権限を持つユーザーを作成します
- 秘密鍵と公開鍵を生成し、公開鍵をASA管理画面にアップロードします
- クライアントシークレットを作成します
- アクセストークンをリクエストします
2.1 APIアクセス権限を持つユーザーの作成
管理者アカウントで、次の流れに従ってAPI権限を持つユーザーを作成できます:
- Apple Search Ads UIにアクセスし、管理者アカウントでログインします
- 「Account Settings」-「User Management」(「アカウント設定」-「ユーザー管理」)に移動します
- 「Invite Users」をクリックして、ASA組織内のユーザーを招待します
- 「User Details」欄に、ユーザーの氏名とApple IDを入力します
- 「User Access and Role」欄で、APIアクセス権限を持つユーザーロールを選択します
- 「Send Invite」をクリックして招待メールを送信します。招待されたユーザーにはsecure codeが記載されたメールが届きます。ユーザーがメール内のAppleのURLをクリックしてsecure codeを入力すると、ユーザーのアカウントが有効になります
2.2 秘密鍵と公開鍵の生成
Windowsをご使用の場合は、OpenSSLをダウンロードしてインストールしてください
- コマンドラインで次のコマンドを入力すると、秘密鍵が生成されます(秘密鍵ファイルはprivate-key.pemです)
openssl ecparam -genkey -name prime256v1 -noout -out private-key.pem
- 続けて、同じディレクトリで次のコマンドを実行して、公開鍵を生成します(公開鍵ファイルはpublic-key.pemです)
openssl ec -in private-key.pem -pubout -out public-key.pem
- Apple Search Ads UIにアクセスし、「Account Settings」-「API」を選択して、公開鍵を「Public Key」セクションにコピーします。保存をクリックすると、「Public Key」セクションの上に
clientId、teamId、keyIdが表示されます。以下はサンプルデータです:
clientId SEARCHADS.aeb3ef5f-0c5a-4f2a-99c8-fca83f25a9
teamId SEARCHADS.hgw3ef3p-0w7a-8a2n-77c8-scv83f25a7
keyId a273d0d3-4d9e-458c-a173-0db8619ca7d7
2.3 ThinkingAIの担当者への情報提供
次に、以下の情報をThinkingAIの担当者に提供する必要があります
- client_id
- team_id
- key_id
- ASA管理画面に設定した公開鍵に対応する秘密鍵ファイル(private-key.pem)
その後、ThinkingAIの担当者がAccess Tokenを作成します。
3. データの取得
インターフェースの基本情報
| インターフェース名 | APIタイプ | 製品化 | データ粒度 | アトリビューションデータ | コストデータ | 収益データ | インプレッション | クリック | コンバージョン |
|---|---|---|---|---|---|---|---|---|---|
| Reporting API | プル型 | いいえ | 集計データ | はい | はい | はい | はい |
3.1 データ取得ルール
Apple Search AdsのReporting APIは、複数の階層のデータレポートを提供しています。現在、AEシステムでは次の階層のデータ取得に対応しています:
広告キャンペーン階層のレポート(Campaign-Level Reports):「広告キャンペーン階層」のデータレポートを時間単位で取得します
広告グループ階層のレポート(Ad Group-Level Reports):広告キャンペーン内の「広告グループ階層」のデータレポートを時間単位で取得します
キーワード階層のレポート(Keyword-Level Reports):広告キャンペーン内の「キーワード階層」のデータレポートを時間単位で取得します
クリエイティブセット階層のレポート(Creative Set-Level Reports):広告キャンペーン内の「クリエイティブセット階層」のデータレポートを日単位で取得します
デフォルトでは、1回のデータ取得タスクで、この4つの階層のレポートデータを同時に取得します
3.2 インターフェースのパラメータ
-
時間:
- 時間範囲:日単位でデータを取得します
- 時間粒度:日単位または時間単位で集計(時間単位)
- タイムゾーン:UTCタイムゾーン、またはASA管理画面で設定したタイムゾーンを選択できます
3.3 格納ルール
3.3.1 Campaign階層
- Campaign階層のデータは集計データのため、固定値をユーザー識別子として使用します。すべてのデータが1人の仮想ユーザーに紐付けられていると考えてください
- データ内のdateフィールド、つまりデータの日付を、集計データの#event_timeとして設定します
- Campaign階層のデータのイベント名は -- asa_campaign_level_data です
- 以下はCampaign階層の格納フィールドです
------------------------ディメンションフィールド------------------------
campaignId
campaignName
deleted
campaignStatus
app.adamId
servingStatus
servingStateReasons
countriesOrRegions
modificationTime
totalBudget.amount
totalBudget.currency
dailyBudget.amount
dailyBudget.currency
displayStatus
supplySources
adChannelType
orgId
countryOrRegionServingStateReasons
billingEvent
------------------------指標フィールド------------------------
impressions
taps
installs
newDownloads
redownloads
latOnInstalls
latOffInstalls
ttr
avgCPA.amount
avgCPA.currency
avgCPT.amount
avgCPT.currency
avgCPM.amount
avgCPM.currency
localSpend.amount
localSpend.currency
conversionRate
3.3.2 Ad Group階層
- Ad Group階層のデータは集計データのため、固定値をユーザー識別子として使用します。すべてのデータが1人の仮想ユーザーに紐付けられていると考えてください
- データ内のdateフィールド、つまりデータの日付を、集計データの#event_timeとして設定します
- Ad Group階層のデータのイベント名は -- asa_adgroup_level_data です
- 以下はAd Group階層のデータの格納フィールドです
------------------------ディメンションフィールド------------------------
campaignId
adGroupId
adGroupName
adGroupDisplayStatus
adGroupStatus
adGroupServingStatus
adGroupServingStateReasons
deleted
cpaGoal
orgId
modificationTime
automatedKeywordsOptIn
pricingModel
defaultBidAmount.amount
defaultBidAmount.currency
------------------------指標フィールド------------------------
impressions
taps
installs
newDownloads
redownloads
latOnInstalls
latOffInstalls
ttr
avgCPA.amount
avgCPA.currency
avgCPT.amount
avgCPT.currency
avgCPM.amount
avgCPM.currency
localSpend.amount
localSpend.currency
conversionRate
3.3.3 Keywords階層
- Keywords階層のデータは集計データのため、固定値をユーザー識別子として使用します。すべてのデータが1人の仮想ユーザーに紐付けられていると考えてください
- データ内のdateフィールド、つまりデータの日付を、集計データの#event_timeとして設定します
- Keywords階層のデータのイベント名は -- asa_keyword_level_data です
- 以下はKeywords階層のデータの格納フィールドです
------------------------ディメンションフィールド------------------------
keywordId
keywordStatus
matchType
deleted
keywordDisplayStatus
adGroupId
adGroupDeleted
------------------------指標フィールド------------------------
impressions
taps
installs
newDownloads
redownloads
latOnInstalls
latOffInstalls
ttr
avgCPA.amount
avgCPA.currency
avgCPT.amount
avgCPT.currency
localSpend.amount
localSpend.currency
conversionRate
3.3.4 Creative Set階層
- Creative Set階層のデータは集計データのため、固定値をユーザー識別子として使用します。すべてのデータが1人の仮想ユーザーに紐付けられていると考えてください
- データ内のdateフィールド、つまりデータの日付を、集計データの#event_timeとして設定します
- Creative Set階層のデータのイベント名は -- asa_creative_level_data です
- 以下はCreative Set階層のデータの格納フィールドです
------------------------ディメンションフィールド------------------------
creativeSetId
creativeSetName
displayStatus
creativeSetLanguageDisplayName
deleted
status
orgId
campaignId
adGroupId
adGroupCreativeSetId
creationTime
modificationTime
countryOrRegion
adFormat
------------------------指標フィールド------------------------
impressions
taps
installs
newDownloads
redownloads
latOnInstalls
latOffInstalls
ttr
avgCPA.amount
avgCPA.currency
avgCPT.amount
avgCPT.currency
localSpend.amount
localSpend.currency
conversionRate
4. データ統合設定情報テンプレート
以上のドキュメントを読んだら、次の情報テンプレートに記入し、ThinkingAIの担当カスタマーサクセスマネージャーに送信することをお勧めします。この情報テンプレートに基づいて、Apple Search Adsのデータ取得を行います:
データインターフェース: Apple Search Ads Report API
---------
AE顧客の会社名:XXX
AE顧客のプロジェクト名:XXX
AEプロジェクト環境:XXX (SAAS/プライベートデプロイ)
AE顧客のプロジェクトapp_id: XXX
AEデータ受信URL push_url: XXX
---------
keyId: XXX
clientId: XXX
teamId: XXX
orgIdリスト: XXX
タイムゾーン:[UTC/ASA] 管理画面で設定したタイムゾーン
時間粒度:[日/時間](注意:クリエイティブセット階層のレポートは時間単位のデータ取得に対応しておらず、日単位の取得のみ対応しています)
履歴データの取得時間範囲:yyyy/mm/dd - yyyy/mm/dd
定期取得:毎日X時に前日のデータを取得
5. 連携テスト
AE管理画面の「イベント管理」ページで、次のイベントを確認します:
- asa_campaign_level_data:広告キャンペーン階層までのデータ。より多くのディメンションと指標を含みます
- asa_adgroup_level_data:広告グループ階層までのデータ。分析粒度がより細かくなります
- asa_keyword_level_data:キーワードの配信効果データ
- asa_creative_level_data:広告クリエイティブ階層までのデータ。分析粒度がより細かくなります

