コンバージョン目標
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"
}
}
}
});