Übersicht über die Unter-API „Angebote“

Mit Angeboten können Sie Sonderangebote für Produkte präsentieren, die Sie auf Google verkaufen. Angebote werden in verschiedenen Google-Produkten wie der Google Suche, Google Shopping und Chrome angezeigt. Angebote müssen bestimmte Kriterien erfüllen, um genehmigt zu werden. Weitere Informationen finden Sie unter Beförderungskriterien.

Wenn Sie Ihren Produkten ein Angebot hinzufügen, sehen Nutzer einen Sonderangebots-Link. Beispiele: „15% Rabatt“ oder „Kostenloser Versand“. Mit Angebotslinks können Sie die Attraktivität Ihrer Produkte steigern und Nutzer zum Kauf bewegen. Alle Angebote werden an der Kasse angewendet.

Weitere Informationen zu Angeboten

Vorbereitung

Google benötigt bestimmte Informationen zu Ihrem Unternehmen und zu Ihren Produkten, damit Ihre Angebote angezeigt werden können. Sie benötigen Folgendes:

Außerdem müssen Sie Ihr Merchant Center-Konto für das Angebotsprogramm registrieren. Wenn Sie sich nicht sicher sind, ob Sie bereits registriert sind, können Sie das Merchant Center aufrufen.

Wenn Sie nicht angemeldet sind, füllen Sie das Antragsformular aus. Das Promotions-Team informiert Sie, sobald Sie mit der Implementierung beginnen können.

Weitere Informationen finden Sie unter Teilnahmekriterien und Richtlinien.

Datenquelle erstellen

Mit der Methode accounts.dataSources.create können Sie eine Angebotsdatenquelle erstellen. Wenn eine vorhandene Angebotsdatenquelle verfügbar ist, verwenden Sie die Methode accounts.dataSources.list, um alle Datenquellen abzurufen. Anschließend können Sie das Feld name der Angebotsdatenquelle verwenden, um Angebote zu erstellen.

Im folgenden Beispiel wird gezeigt, wie Sie eine Datenquelle zum Hinzufügen von Angeboten erstellen:

POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources

{
  "displayName": "{DISPLAY_NAME}",
  "promotionDataSource": {
    "contentLanguage": "{CONTENT_LANGUAGE}",
    "targetCountry": "{TARGET_COUNTRY}"
  }
}

Ersetzen Sie Folgendes:

  • {ACCOUNT_ID}: Die eindeutige Kennung Ihres Kontos, wie sie in der Merchant Center-Benutzeroberfläche angezeigt wird.
  • {DISPLAY_NAME}: Der Anzeigename der Datenquelle.
  • {CONTENT_LANGUAGE}: Der aus zwei Buchstaben bestehende ISO 639-1-Sprachcode der Produkte in der Datenquelle.
  • {TARGET_COUNTRY}: Der CLDR-Gebietscode des Ziellands, in dem die Angebote sichtbar sein sollen.

Nachdem die Anfrage erfolgreich ausgeführt wurde, wird die folgende Antwort mit Details zur neu erstellten Promotionsdatenquelle angezeigt:

{
  "name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
  "dataSourceId": "{DATASOURCE_ID}",
  "displayName": "{DISPLAY_NAME}",
  "promotionDataSource": {
    "targetCountry": "{TARGET_COUNTRY}",
    "contentLanguage": "{CONTENT_LANGUAGE}"
  },
  "input": "API"
}

Werbeaktionen erstellen

Sie können die Methode accounts.promotions.insert verwenden, um ein Angebot zu erstellen oder zu aktualisieren. Die Methode accounts.promotions.insert akzeptiert eine promotions-Ressource und einen Datenquellennamen als Eingabe. Bei Erfolg wird das neue oder aktualisierte Angebot zurückgegeben.

Zum Erstellen eines Angebots ist der Name der Datenquelle erforderlich. Außerdem müssen Sie in Ihrer Anfrage Werte für die folgenden Felder angeben:

  • contentLanguage
  • redemptionChannel
  • promotionId
  • targetCountry
  • attributes.offerType
  • attributes.genericRedemptionCode
  • attributes.couponValueType
  • attributes.productApplicability
  • attributes.promotionEffectiveTimePeriod.endTime
  • attributes.promotionEffectiveTimePeriod.startTime
  • attributes.longTitle

Google überprüft, ob Ihre Angebote den Richtlinien entsprechen, bevor sie veröffentlicht werden. Weitere Informationen zum Freigabeprozess für Angebote

Wir empfehlen Ihnen, die Richtlinien für Angebote zu lesen, damit Sie Angebote erstellen, die einen Mehrwert bieten und den Richtlinien für Shopping-Anzeigen entsprechen.

Die folgende Anfrage zeigt, wie Sie ein Onlineangebot erstellen:

HTTP

POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert

{
"promotion": {
  "name": "{PROMOTION_NAME}",
  "promotionId": "{PROMOTION_ID}",
  "targetCountry": "{TARGET_COUNTRY}",
  "redemptionChannel": [
    "ONLINE"
  ],
  "contentLanguage": "{CONTENT_LANGUAGE}",
  "attributes": {
    "promotionDisplayTimePeriod": {
      "endTime": "{PROMOTION_END_TIME}",
      "startTime": "{PROMOTION_START_TIME}"
    },
    "offerType": "{OFFER_TYPE}",
    "longTitle": "{LONG_TITLE}"
  }
},
"dataSource": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}"
}

cURL

  curl --request POST \
'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"dataSource":"{DATASOURCE_ID}","promotion":{"name":"accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}y","promotionId":"abc","contentLanguage":"en","targetCountry":"US","redemptionChannel":["ONLINE"]}}' \
--compressed

Informationen zu den Regeln für die Angebots-ID finden Sie unter Mindestanforderungen für das Attribut „Angebots-ID“.

Die gültigen Werte für das Pflichtfeld offerType sind NO_CODE und GENERIC_CODE. Wenn Sie einen dieser Werte nicht angeben, schlägt die API-Anfrage mit der HTTP 400-Antwort [offer_type] validation/missing_required: Invalid or missing required attribute: offer_type fehl. Eine ähnliche Fehlermeldung wird zurückgegeben, wenn Sie keines der Pflichtfelder angeben.

Wenn Sie keinen Wert für das Feld attributes.genericRedemptionCode angeben, schlägt die Anfrage mit der HTTP-400-Antwort [genericRedemptionCode] No redemption code provided fehl.

Die Werte für die Felder promotion.attributes.promotionDisplayTimePeriod.startTime und promotion.attributes.promotionDisplayTimePeriod.endTime müssen das Format yyyy-mm-ddThh:mm:ssZ haben. Achten Sie darauf, die Werte für diese Felder durch Datumsangaben zu ersetzen, die in der Zukunft liegen.

Weitere Informationen finden Sie unter Spezifikation für Angebotsdaten.

Best Practices für Angebote

Eine Liste der Attribute für Angebote finden Sie unter Attribute für strukturierte Daten hinzufügen.

Nachdem die Anfrage zum Erstellen des Angebots erfolgreich ausgeführt wurde, kann es einige Minuten dauern, bis das Angebot über die API abgerufen oder im Merchant Center angezeigt werden kann.

Hier ist ein Beispiel, mit dem Sie mehrere Angebote asynchron einfügen können:

Java

import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutureCallback;
import com.google.api.core.ApiFutures;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.protobuf.Timestamp;
import com.google.shopping.merchant.promotions.v1.Attributes;
import com.google.shopping.merchant.promotions.v1.CouponValueType;
import com.google.shopping.merchant.promotions.v1.InsertPromotionRequest;
import com.google.shopping.merchant.promotions.v1.OfferType;
import com.google.shopping.merchant.promotions.v1.ProductApplicability;
import com.google.shopping.merchant.promotions.v1.Promotion;
import com.google.shopping.merchant.promotions.v1.PromotionsServiceClient;
import com.google.shopping.merchant.promotions.v1.PromotionsServiceSettings;
import com.google.shopping.merchant.promotions.v1.RedemptionChannel;
import com.google.shopping.type.CustomAttribute;
import com.google.shopping.type.Destination.DestinationEnum;
import com.google.type.Interval;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to insert multiple promotions asynchronously. */
public class InsertPromotionsAsyncSample {

  private static String generateRandomString() {
    String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    Random random = new Random();
    StringBuilder sb = new StringBuilder(8);
    for (int i = 0; i < 8; i++) {
      sb.append(characters.charAt(random.nextInt(characters.length())));
    }
    return sb.toString();
  }

  private static Promotion createPromotion(String accountId) {
    String merchantPromotionId = generateRandomString();

    Attributes attributes =
        Attributes.newBuilder()
            .setProductApplicability(ProductApplicability.ALL_PRODUCTS)
            .setOfferType(OfferType.GENERIC_CODE)
            .setGenericRedemptionCode("ABCD1234")
            .setLongTitle("My promotion")
            .setCouponValueType(CouponValueType.PERCENT_OFF)
            .addPromotionDestinations(DestinationEnum.SHOPPING_ADS)
            .setPercentOff(10)
            // Note that promotions have a 6-month limit.
            // For more information, read here: https://support.google.com/merchants/answer/2906014
            // Also note that only promotions valid within the past 365 days are shown in the UI.
            .setPromotionEffectiveTimePeriod(
                Interval.newBuilder()
                    .setStartTime(Timestamp.newBuilder().setSeconds(1726842472))
                    .setEndTime(Timestamp.newBuilder().setSeconds(1726842473))
                    .build())
            .build();

    return Promotion.newBuilder()
        .setName(String.format("accounts/%s/merchantPromotions/%s", accountId, merchantPromotionId))
        .setPromotionId(merchantPromotionId)
        .setContentLanguage("fr")
        .setTargetCountry("CH")
        .addRedemptionChannel(RedemptionChannel.ONLINE)
        .setAttributes(attributes)
        // Custom attributes allow you to add additional information which is not available in
        // Attributes. For example, you might want to pilot experimental functionality.
        .addCustomAttributes(
            CustomAttribute.newBuilder()
                .setName("another example name")
                .setValue("another example value")
                .build())
        .build();
  }

  public static void asyncInsertPromotions(String accountId, String dataSourceId) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    PromotionsServiceSettings merchantPromotionsServiceSettings =
        PromotionsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    try (PromotionsServiceClient merchantPromotionsServiceClient =
        PromotionsServiceClient.create(merchantPromotionsServiceSettings)) {

      // Arbitrarily creates five merchant promotions with random IDs.
      List<InsertPromotionRequest> requests = new ArrayList<>();
      for (int i = 0; i < 5; i++) {
        InsertPromotionRequest request =
            InsertPromotionRequest.newBuilder()
                .setParent(String.format("accounts/%s", accountId))
                .setPromotion(createPromotion(accountId))
                .setDataSource(String.format("accounts/%s/dataSources/%s", accountId, dataSourceId))
                .build();
        requests.add(request);
      }

      // Inserts the merchant promotions.
      List<ApiFuture<Promotion>> futures =
          requests.stream()
              .map(
                  request ->
                      merchantPromotionsServiceClient.insertPromotionCallable().futureCall(request))
              .collect(Collectors.toList());

      // Creates callback to handle the responses when all are ready.
      ApiFuture<List<Promotion>> responses = ApiFutures.allAsList(futures);
      ApiFutures.addCallback(
          responses,
          new ApiFutureCallback<List<Promotion>>() {
            @Override
            public void onSuccess(List<Promotion> results) {
              System.out.println("Inserted merchant promotions below:");
              System.out.println(results);
            }

            @Override
            public void onFailure(Throwable throwable) {
              System.out.println(throwable);
            }
          },
          MoreExecutors.directExecutor());
    } catch (Exception e) {
      System.out.println(e);
    }
  }


  public static void main(String[] args) throws Exception {
    Config config = Config.load();
    asyncInsertPromotions(config.getAccountId().toString(), "<YOUR_DATA_SOURCE_ID>");
  }
}

Im Folgenden finden Sie einige Beispielangebote, die Sie als Ausgangspunkt verwenden können.

Ein lokales Angebot, das für alle Produkte und alle Geschäfte gilt

Im folgenden Beispiel sehen Sie, wie Sie ein lokales Angebot erstellen, das für alle Produkte in Ihrem Merchant Center-Konto und alle Geschäfte in Ihrem verknüpften Unternehmensprofil-Konto gilt.

POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert

{
  "promotion": {
    "promotionId": "buy_2_get_10_off",
    "contentLanguage": "en",
    "targetCountry": "US",
    "redemptionChannel": [
      "IN_STORE"
    ],
    "attributes": {
      "longTitle": "Buy 2 and get 10$ OFF purchase",
      "productApplicability": "ALL_PRODUCTS",
      "offerType": "NO_CODE",
      "couponValueType": "BUY_M_GET_MONEY_OFF",
      "promotionDisplayTimePeriod": {
        "startTime": "2024-2-06T00:47:44Z",
        "endTime": "2024-5-06T00:47:44Z"
      },
      "promotionEffectiveTimePeriod": {
        "startTime": "2024-2-06T00:47:44Z",
        "endTime": "2024-5-06T00:47:44Z"
      },
      "moneyOffAmount": {
        "amountMicros": "1000000",
        "currencyCode": "USD"
      },
      "minimumPurchaseQuantity": 2,
      "storeApplicability": "ALL_STORES",
      "promotionUrl": "http://promotionnew4url.com/",
      "promotionDestinations": [
        "LOCAL_INVENTORY_ADS"
      ],
    }
  },
  "dataSource": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}"
}

productApplicability ist ein Pflichtfeld. Es gibt an, ob das Angebot für alle oder nur für bestimmte Produkte gilt. Die unterstützten Werte sind ALL_PRODUCTS und SPECIFIC_PRODUCTS. Weitere Informationen finden Sie unter Produkte für Ihr Angebot auswählen.

couponValueType ist ein Pflichtfeld. Gibt den Typ des Angebots an, das Sie nutzen. Eine Liste der unterstützten Werte finden Sie unter Gutschein-Werttyp. Je nach ausgewähltem Gutscheinwerttyp sind einige Attribute erforderlich.

Im Feld minimumPurchaseQuantity können Sie den Wert für die Mindestbestellmenge festlegen, die zum Einlösen des Angebots erforderlich ist. Weitere Informationen finden Sie unter Mindestbestellmenge für Angebot.

Mit dem Feld minimumPurchaseAmount können Sie den Mindestbestellwert festlegen, der erforderlich ist, um das Angebot einzulösen. Weitere Informationen finden Sie unter Mindestkaufbetrag.

Weitere Informationen zu den Werten, die Sie zum Erstellen eines lokalen Angebots angeben müssen, finden Sie unter Datenquellenspezifikationen für lokale Angebote.

Ein Onlineangebot für ausgewählte Produkte mit einem Gutscheincode

Im folgenden Beispiel wird gezeigt, wie Sie ein Onlineangebot erstellen, das für ausgewählte Produkte mit einem Einlösungscode gilt.

POST https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions:insert

{
 "promotion": {
   "promotionId": "25_pct_off",
   "contentLanguage": "en",
   "targetCountry": "US",
   "redemptionChannel": [
     "ONLINE"
   ],
   "attributes": {
     "longTitle": "10% off on selected items",
     "productApplicability": "SPECIFIC_PRODUCTS",
     "offerType": "GENERIC_CODE",
     "genericRedemptionCode": "SPRINGSALE",
     "couponValueType": "PERCENT_OFF",
     "promotionDisplayTimePeriod": {
       "startTime": "2024-2-06T00:47:44Z",
       "endTime": "2024-5-06T00:47:44Z"
     },
     "promotionEffectiveTimePeriod": {
       "startTime": "2024-2-06T00:47:44Z",
       "endTime": "2024-5-06T00:47:44Z"
     },
     "percentOff": 25,
     "promotionDestinations": [
       "FREE_LISTINGS"
     ],
     "itemIdInclusion": [
       "1499860100",
       "1499860101",
       "1499860102",
       "1499860103",
       "1499860104"
     ],
   }
 },
 "dataSource": "accounts/{ACCOUNT_ID}/dataSources/1000000573361824"
}

Werbeaktionen ansehen

Verwenden Sie accounts.promotions.get, um ein Angebot aufzurufen. Diese GET-Anfrage ist schreibgeschützt. Dazu sind Ihre merchantId und die ID des Angebots erforderlich. Die Methode GET gibt die entsprechende Promotions-Ressource zurück.

Beispiel:

HTTP

GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}

cURL

  curl \
   'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/{PROMOTION_ID}?key=[YOUR_API_KEY]' \
   --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
   --header 'Accept: application/json' \
   --compressed

Ersetzen Sie Folgendes:

  • {ACCOUNT_ID}: Die eindeutige Kennung Ihres Merchant Center-Kontos.
  • {PROMOTION_ID}: Die eindeutige ID des Angebots, das Sie abrufen möchten. Das Format ist {CHANNEL} ~{CONTENT_LANGUAGE}~ {TARGET_COUNTRY}~{PROMOTION_ID} .

Es dauert einige Minuten, bis eine neu erstellte Promotion über die API abgerufen werden kann.

Lokales Angebot ansehen

Mit der folgenden Beispielanfrage wird ein lokales Angebot mit der Angebots-ID in_store~en~US~buy_2_get_10_off abgerufen.

GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/in_store~en~US~buy_2_get_10_off

Nachdem die Anfrage erfolgreich war, wird die folgende Antwort angezeigt:

{
 "name": "accounts/{ACCOUNT_ID}/promotions/in_store~en~US~buy_2_get_10_off",
 "promotionId": "buy_2_get_10_off",
 "contentLanguage": "en",
 "targetCountry": "US",
 "redemptionChannel": [
   "IN_STORE"
 ],
 "attributes": {
   "longTitle": "Buy 2 and get 10$ OFF purchase",
   "productApplicability": "ALL_PRODUCTS",
   "offerType": "NO_CODE",
   "couponValueType": "BUY_M_GET_MONEY_OFF",
   "promotionDisplayTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "promotionEffectiveTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "moneyOffAmount": {
     "amountMicros": "1000000",
     "currencyCode": "USD"
   },
   "minimumPurchaseQuantity": 2,
   "storeApplicability": "ALL_STORES",
   "promotionUrl": "http://promotionnew4url.com/",
   "promotionDestinations": [
     "LOCAL_INVENTORY_ADS"
   ],
 }
 "dataSource": "accounts/{ACCOUNT_ID}/dataSources/1000000573361824"
}

Das Feld moneyOffAmount in diesem Beispiel enthält den Rabatt, der im Angebot gewährt wird. Weitere Informationen finden Sie unter Geldbetrag des Rabatts für ein Angebot.

Das Feld promotionUrl in diesem Beispiel enthält den Link zur Website des Geschäfts, auf der Käufer weitere Informationen zum Angebot finden. Für Angebote in Anzeigen für lokales Inventar wird ein Fehler zurückgegeben, wenn Sie das Feld promotionUrl nicht angeben.

Sie sehen sich ein Onlineangebot an.

Mit der folgenden Beispielanfrage wird ein Onlineangebot mit der Angebots-ID online~en~US~25_pct_off abgerufen.

GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/online~en~US~25_pct_off
{
 "name": "accounts/{ACCOUNT_ID}/promotions/online~en~US~25_pct_off",
 "promotionId": "25_pct_off",
 "contentLanguage": "en",
 "targetCountry": "US",
 "redemptionChannel": [
   "ONLINE"
 ],
 "attributes": {
   "longTitle": "10% off on selected items",
   "productApplicability": "SPECIFIC_PRODUCTS",
   "offerType": "GENERIC_CODE",
   "genericRedemptionCode": "WINTERGIFT",
   "couponValueType": "PERCENT_OFF",
   "promotionDisplayTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "promotionEffectiveTimePeriod": {
     "startTime": "2024-2-06T00:47:44Z",
     "endTime": "2024-5-06T00:47:44Z"
   },
   "percentOff": 25,
   "promotionDestinations": [
     "FREE_LISTINGS"
   ],
   "itemIdInclusion": [
     "1499860100",
     "1499860101",
     "1499860102",
     "1499860103",
     "1499860104"
   ],
 }
 "dataSource": "accounts/{ACCOUNT_ID}/dataSources/{dataSource}"
}

Im Feld itemIdInclusion in diesem Beispiel werden die Produkte aufgeführt, die für das Angebot infrage kommen. Weitere Informationen finden Sie unter Produkt-ID für Werbeaktion.

Angebote auflisten

Mit der Methode promotions.list können Sie alle erstellten Angebote aufrufen.

Hier ein Beispiel für eine Anfrage:

HTTP

GET https://merchantapi.googleapis.com/promotions/v1/{ACCOUNT_ID}/promotions

cURL

  curl \
   'https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions?key=[YOUR_API_KEY]' \
   --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
   --header 'Accept: application/json' \
   --compressed

Die Antwort enthält die Liste aller Angebote in Ihrem Konto. Für jede Werbeaktion können Sie Details wie promotionId, redemptionChannel, dataSource und promotionStatus aufrufen.

Status eines Angebots ansehen

Den Status eines Angebots finden Sie im Attribut promotionStatus, das von der Methode promotions.get oder promotions.list zurückgegeben wird.

Das Feld promotionStatus kann die folgenden Werte haben:

  • IN_REVIEW: Das Angebot wird noch überprüft.
  • REJECTED: Das Angebot wurde abgelehnt.
  • LIVE: Das Angebot wurde genehmigt und ist aktiv.
  • STOPPED: Das Angebot wurde vom Konto beendet.
  • EXPIRED: Das Angebot ist nicht mehr aktiv.
  • PENDING: Das Angebot wurde nicht beendet und alle Rezensionen wurden genehmigt, das aktive Datum liegt jedoch in der Zukunft.
  • STATE_UNSPECIFIED: Unbekannter Angebotsstatus.

Informationen zum Freigabeprozess für ein von Ihnen erstelltes Angebot finden Sie unter Freigabeprozess für Angebote.

Beispiel für Angebotsstatus

Die folgenden Beispiele veranschaulichen den Unterschied zwischen erfolgreichen und fehlgeschlagenen Anfragen.

Fehlende Produktzuordnung

Der folgende Antworttext zeigt ein Onlineangebot, das aufgrund eines fehlenden Produktabgleichs abgelehnt wurde.

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "REJECTED"
      }
    ],
    "itemLevelIssues": [
      {
        "code": "promotion_sku_unmapped",
        "severity": "DISAPPROVED",
        "resolution": "merchant_action",
        "reportingContext": "FREE_LISTINGS",
        "description": "Unmapped",
        "detail": "This promotion couldn't be tested during review because it doesn't apply to any products that are currently in your Products feed",
        "documentation": "https://support.google.com/merchants/answer/2906014",
        "applicableCountries": [
          "US"
        ]
      },
      {
        "code": "promotion_sku_additional_requirements",
        "severity": "DISAPPROVED",
        "resolution": "merchant_action",
        "reportingContext": "FREE_LISTINGS",
        "description": "Promotion conditions not allowed",
        "detail": "This promotion has additional requirements that are not allowed such as requiring customers to verify additional details like phone number or ID before showing the promotion details",
        "documentation": "https://support.google.com/merchants/answer/2906014",
        "applicableCountries": [
          "US"
        ]
      }
    ]
  }

Informationen zur Fehlerbehebung bei abgelehnten Angeboten und zur Vermeidung zukünftiger Ablehnungen finden Sie unter Probleme mit abgelehnten Angeboten beheben.

Wenn ein von Ihnen erstelltes Angebot nicht genehmigt wird, erhalten Sie eine E‑Mail mit dem Grund für die Ablehnung und einer Anleitung zum Beheben der Probleme.

Angebot wird überprüft

Der folgende Antworttext zeigt ein Angebot, das noch geprüft wird.

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "PENDING"
      },
      {
        "destination": "SHOPPING_ADS",
        "status": "PENDING"
      }
    ],
    "itemLevelIssues": []
  }

Eine genehmigte und aktive Werbeaktion

Der folgende Antworttext zeigt ein Angebot, das für Käufer sichtbar ist.

  "promotionStatus": {
    "destinationStatuses": [
      {
        "reportingContext": "FREE_LISTINGS",
        "status": "LIVE"
      },
      {
        "destination": "SHOPPING_ADS",
        "status": "LIVE"
 }  ],
    "itemLevelIssues": []
  }

Weitere Informationen

Angebote löschen

Es ist nicht möglich, ein Angebot über die API zu löschen. Wenn Sie ein Angebot löschen möchten, müssen Sie auf die Merchant Center-Benutzeroberfläche zugreifen. Weitere Informationen

Wenn Sie ein bestehendes Angebot beenden möchten, können Sie die Methode accounts.promotions.insert verwenden, um das Feld attributes.promotionEffectiveTimePeriod.endTime auf einen Zeitpunkt in der Vergangenheit zu aktualisieren.

Weitere Informationen