Wymagane komponenty kampanii Performance Max

Aby wygenerować nową kampanię Performance Max od podstaw, musisz utworzyć przynajmniej takie elementy:

Kampania i budżet przydają się przy tworzeniu różnego rodzaju kampanii, a operacje związane z komponentami są szczególnie przydatne przy tworzeniu kampanii Performance Max.

Upewnij się, że znasz strategię mutacji, ponieważ w tym przewodniku znajdziesz tylko obiekty JavaScript, których chcesz używać w mutacjach.

Budżet

Budżet nie może być wspólny i musi mieć unikalną nazwę na koncie. Użyj CampaignBudgetOperation.

const budgetOperation = {
  "campaignBudgetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
      "name": "Performance Max campaign budget",
      "amountMicros": "50000000",
      "deliveryMethod": "STANDARD",
      "explicitlyShared": false
    }
  }
}
operations.push(budgetOperation);

Priorytet

Aby kampania mogła się odwoływać do poprzednio utworzonego budżetu, oprócz nazwy własnego zasobu z tymczasowym identyfikatorem potrzebujesz dokładnej nazwy zasobu ustawionej w poprzednim kroku. Dzięki temu będzie można jednoznacznie zidentyfikować budżet utworzony wcześniej w tym żądaniu. Użyj 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);

Grupa plików

Grupa komponentów w tej kampanii wymaga odniesienia do kampanii, więc trzeba będzie się do niej później odwoływać, gdy połączysz z nią komponenty. Użyj 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);

Gdy masz już grupy komponentów i komponenty (z poprzedniego kroku), musisz je połączyć, aby kampania Performance Max wiedziała, których komponentów chcesz używać. Musisz to zrobić w ramach tego samego żądania, w którym początkowo tworzysz grupę komponentów. Aby to zrobić, użyj AssetGroupAssetOperation.

Musisz podać prawidłową nazwę zasobu, a także zmodyfikować fieldType na odpowiednią wartość dla łączonego zasobu. Zobacz pełną listę prawidłowych typów pól.

Aby spełnić minimalne wymagania dotyczące kampanii Performance Max, musisz wykonać wiele z tych operacji.

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"
    }
  }
});