Conversion-Zielvorhaben
Wenn Sie eine Performance Max-Kampagne erstellen, werden automatisch eine Reihe von Conversion-Zielvorhaben
erstellt, die den CustomerConversionGoals im
Konto entsprechen. Sie können diese an jede Ihrer Performance Max-Kampagnen anpassen, indem Sie sie aktualisieren.
Dazu müssen Sie zuerst die Kampagnen-ID Ihrer Performance Max-Kampagne(n) und eine Liste aller Conversion-Zielvorhaben des Kunden abrufen. Hier sehen Sie ein Beispiel dafür, wie Sie die Zielvorhaben einer Kampagne ändern. Sie können Ihren Code aber auch so einrichten, dass er mehrere Performance Max-Kampagnen durchläuft.
// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";
const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
campaignId = search.next().campaign.id;
console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
console.log(`No campaign named "${campaignName}" found`);
// Perform further error handling here
}
// Query for a list of customer conversion goals
const searchResults = AdsApp.search(
`SELECT
customer_conversion_goal.category,
customer_conversion_goal.origin
FROM customer_conversion_goal`
);
Anschließend können Sie alle Conversion-Zielvorhaben durchgehen, die Sie erhalten haben, und eine Aktualisierungsoperation für die aktuelle Performance Max-Kampagne erstellen, um das Targeting für jedes Zielvorhaben anzupassen. Im Codebeispiel weiter unten in diesem Abschnitt werden alle Zielvorhaben auf „Gebotsfähig“ gesetzt. Sie sollten diesen Teil der Logik jedoch an Ihre Anforderungen anpassen.
Wir empfehlen, Conversion-Zielvorhaben in einer separaten Transaktion vom Rest des Kampagnenerstellungsprozesses einzurichten. CampaignConversionGoalOperation
erfordert, dass partialFailure für die Anfrage auf false gesetzt ist. Wenn Sie diesen Code in derselben Transaktion ausführen möchten, in der Sie die Kampagne erstellen, müssen Sie für alle Operationen festlegen, dass Teilausfälle deaktiviert sind. In diesem Codebeispiel wird gezeigt, wie Sie diese Operation in einer separaten Transaktion ausführen.
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});
Kampagnen-Targeting
Eine vollständige Liste der zulässigen Kriterientypen für das Kampagnen-Targeting in Performance Max-Kampagnen finden Sie im API-Leitfaden.
Zusätzliche Kriterien sind für die Erstellung einer Performance Max-Kampagne nicht erforderlich, können aber nützlich sein, um das Targeting je nach Anwendungsfall einzuschränken. Im nächsten Codebeispiel wird gezeigt, wie Sie ein geografisches Ziel einrichten. Das Format für andere Kriterientypen finden Sie in der
CampaignCriterion Dokumentation.
Sie können diese Kriterien zusammen mit der Kampagne selbst im Rahmen desselben Aufrufs von mutateAll erstellen. In diesem Codebeispiel wird davon ausgegangen, dass Sie Ihren Code so strukturieren.
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
Signale für Asset-Gruppen
Lesen Sie vor dem
Start die Informationen zu Signalen für Asset-Gruppen in der API-Dokumentation. Diese werden eingerichtet, indem Sie eine Asset-Gruppe mit einem vorhandenen
AudienceInfo oder SearchThemeInfo Kriterium verknüpfen. Wenn Sie stattdessen eine Zielgruppe verwenden möchten, geben Sie das Feld audience anstelle des Felds searchTheme mit dem Ressourcennamen der Zielgruppe an.
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});