Para gerar uma nova campanha Performance Max do zero, você precisa pelo menos o seguinte:
- Um orçamento
- A própria campanha
- Recursos no nível da conta
- Um grupo de recursos
- Vinculações entre os recursos na sua conta e o grupo de recursos que você usará para essa campanha.
A campanha e o orçamento são úteis para criar todos os tipos de campanha, enquanto as operações relacionadas a recursos são úteis especificamente para criar campanhas Performance Max.
Confira se você conhece a estratégia mutate, já que esse guia fornece apenas os objetos JavaScript que serão usados na modificação.
Orçamento
O orçamento não pode ser compartilhado e precisa ter um nome exclusivo na conta. Use
um CampaignBudgetOperation
.
const budgetOperation = {
"campaignBudgetOperation": {
"create": {
"resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
"name": "Performance Max campaign budget",
"amountMicros": "50000000",
"deliveryMethod": "STANDARD",
"explicitlyShared": false
}
}
}
operations.push(budgetOperation);
Campanha
A campanha precisa fazer referência ao orçamento criado anteriormente. Portanto, além de especificar o próprio nome de recurso com um ID temporário, você vai precisar do nome exato do recurso definido na etapa anterior para criar a campanha, para que seja possível identificar exclusivamente o orçamento criado anteriormente nessa solicitação.
Use um CampaignOperation
.
const campaignOperation = {
"campaignOperation": {
"create": {
"resourceName": `customers/${customerId}/campaigns/${getNextTempId()}`,
"name": "Performance Max campaign",
"status": "PAUSED",
"advertisingChannelType": "PERFORMANCE_MAX",
"campaignBudget": budgetOperation.campaignBudgetOperation.create.resourceName,
"biddingStrategyType": "MAXIMIZE_CONVERSION_VALUE",
"startDate": "20240314",
"endDate": "20250313",
"urlExpansionOptOut": false,
"maximizeConversionValue": {
"targetRoas": 3.5
}
}
}
}
operations.push(campaignOperation);
Grupo de recursos
O grupo de recursos desta campanha requer uma referência à campanha e precisará ser referenciado depois, quando você vincular os recursos a ele. Use um
AssetGroupOperation
.
const assetGroupOperation = {
"assetGroupOperation": {
"create": {
"resourceName": `customers/${customerId}/assetGroups/${getNextTempId()}`,
"campaign": campaignOperation.campaignOperation.create.resourceName,
"name": "Performance Max asset group",
"finalUrls": [
"http://www.example.com"
],
"finalMobileUrls": [
"http://www.example.com"
],
"status": "PAUSED"
}
}
}
operations.push(assetGroupOperation);
Links do grupo de recursos
Agora que você tem os grupos e os recursos (da etapa anterior), é necessário vinculá-los para que a campanha Performance Max saiba quais recursos você quer usar. Você precisa fazer isso na mesma solicitação em que criou
o grupo de recursos inicialmente. Para fazer isso, use um
AssetGroupAssetOperation
.
Será necessário fornecer o nome correto do recurso do recurso, bem como modificar o fieldType
para o valor apropriado do recurso que você está vinculando. Confira a lista completa de tipos de campo válidos.
Você precisará de várias dessas operações para atender aos requisitos mínimos de uma campanha Performance Max.
operations.push({
"assetGroupAssetOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
// assetResourceName here is a placeholder; you will need to determine
// the correct resource name to use depending on which asset you want
// to add to the asset group.
"asset": assetResourceName,
"fieldType": "HEADLINE"
}
}
});