コンバージョン目標
P-MAX キャンペーンを作成するときに、アカウントの CustomerConversionGoal
に一致する一連のコンバージョン目標が自動的に作成されます。これらの設定は、P-MAX キャンペーンごとに更新してカスタマイズできます。
そのためには、まず、すべての顧客コンバージョン目標のリストを取得する必要があります。
const searchResults = AdsApp.search(
`SELECT
customer_conversion_goal.category,
customer_conversion_goal.origin
FROM customer_conversion_goal`
);
次に、取得したすべてのコンバージョン目標を反復処理し、現在の P-MAX キャンペーンの更新オペレーションを作成して、各目標のターゲティングをカスタマイズできます。以下のコードでは、これらをすべて入札対象に設定していますが、キャンペーンで達成したい目標に合わせて、ロジックのこの部分をカスタマイズする必要があります。
このコードを実行する前に、P-MAX キャンペーンのキャンペーン ID を取得する必要があります。
キャンペーン作成プロセスの他の部分とは別の取引でコンバージョン目標を設定することをおすすめします。CampaignConversionGoalOperation
では、リクエストの partialFailure
を false
に設定する必要があります。このコードをキャンペーンを最初に作成したトランザクションで実行する場合は、オペレーション全体のセットで部分的な失敗を無効にする必要があります。このサンプルコードは、このオペレーションを別のトランザクションで実行する方法を示しています。
operations = [];
while (searchResults.hasNext()) {
const row = searchResults.next();
const conversionGoal = row.customerConversionGoal;
operations.push({
"campaignConversionGoalOperation": {
"update": {
"resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
// Insert your logic here to determine whether you want this particular
// campaign conversion goal to be biddable or not.
// This code will just default everything to being biddable, but that
// is not necessarily best for your use case.
"biddable": true
},
"updateMask": "biddable"
}
});
}
AdsApp.mutateAll(operations, {partialFailure: false});
キャンペーンのターゲット設定
P-MAX のキャンペーン ターゲティングについては、使用可能な条件タイプの一覧については、API ガイドをご覧ください。
P-MAX キャンペーンの作成に追加の条件は必要ありませんが、ユースケースに応じてターゲティングを絞り込む際に役立ちます。次のコードサンプルは、位置情報ターゲットを設定する方法を示しています。他の条件タイプの形式については、CampaignCriterion
のドキュメントをご覧ください。
これらの条件は、mutateAll
への同じ呼び出しの一部としてキャンペーン自体とともに作成できます。このコードサンプルでは、コードをこのように構成していることを前提としています。
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
アセット グループのシグナル
始める前に、API ドキュメントでアセット グループ シグナルについて確認してください。これらは、アセット グループを既存の AudienceInfo
条件または SearchThemeInfo
条件にリンクすることで設定します。代わりにオーディエンスを使用する場合は、searchTheme
フィールドではなく、オーディエンスのリソース名を含む audience
フィールドを指定します。
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});