Mit Angeboten können Sie spezielle Angebote für Produkte präsentieren, die Sie auf Google verkaufen. Angebote werden auf verschiedenen Google-Produkten wie der Google Suche, Shopping und Chrome angezeigt. Angebote müssen bestimmte Kriterien erfüllen, um genehmigt zu werden. Weitere Informationen finden Sie unter Angebotskriterien.
Wenn Sie Ihren Produkten ein Angebot hinzufügen, sehen Käufer einen Link für ein spezielles Angebot. Beispiel: „15 % Rabatt“ oder „Kostenloser Versand“. Angebotslinks können die Attraktivität Ihrer Produkte steigern und Nutzer zum Kauf bewegen. Alle Angebote werden an der Kasse angewendet.
Weitere Informationen finden Sie unter Grundlagen zu Angeboten.
Vorbereitung
Google benötigt bestimmte Informationen zu Ihrem Unternehmen und Ihren Produkten, bevor Ihre Angebote präsentiert werden können. Folgende Voraussetzungen müssen erfüllt sein:
- Eine Produktdatenquelle im Google Merchant Center.
- Eine Angebotsdatenquelle im Google Merchant Center.
- Ein Google Ads-Konto für Shopping-Kampagnen.
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, sehen Sie im Merchant Center nach.
Wenn Sie nicht registriert sind, füllen Sie das Anfrageformular 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, rufen Sie mit der Methode accounts.dataSources.list alle Datenquellen ab. Anschließend können Sie das Feld name der Angebotsdatenquelle verwenden, um Angebote zu erstellen.
Wir empfehlen dringend, die accounts.dataSources.name für jedes Angebot in Ihrer lokalen Datenbank zu speichern, damit Sie bei zukünftigen API-Aufrufen direkt darauf verweisen können. Sie können einen einmaligen Backfill Ihrer lokalen Datenbank durchführen.
Die folgende Anfrage zeigt, 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 zweistellige ISO 639-1-Sprachcode der Produkte in der Datenquelle.
- {TARGET_COUNTRY}: Der CLDR-Regionscode des Ziellandes, in dem die Angebote sichtbar sein sollen.
Nachdem die Anfrage erfolgreich ausgeführt wurde, wird die folgende Antwort mit Details zur neu erstellten Angebotsdatenquelle 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 verwendet eine promotions-Ressource und einen Datenquellennamen als Eingabe. Bei erfolgreicher Ausführung wird die neue oder aktualisierte Promotion 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:
contentLanguageredemptionChannelpromotionIdtargetCountryattributes.offerTypeattributes.genericRedemptionCodeattributes.couponValueTypeattributes.productApplicabilityattributes.promotionEffectiveTimePeriod.endTimeattributes.promotionEffectiveTimePeriod.startTimeattributes.longTitle
Ihre Angebote werden von Google überprüft und genehmigt, bevor sie veröffentlicht werden. Weitere Informationen finden Sie unter Freigabeprozess für Angebote.
Wir empfehlen Ihnen, die Angebotsrichtlinien durchzulesen, um sicherzustellen, dass die von Ihnen erstellten Angebote 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 {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 das Festlegen Ihrer 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 keinen dieser Werte 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 im Format yyyy-mm-ddThh:mm:ssZ angegeben werden. Ersetzen Sie die Werte für diese Felder durch Datumsangaben, die in der Zukunft liegen.
Weitere Informationen finden Sie unter Spezifikationen für Angebotsdaten.
Best Practices zum Erstellen von Angeboten finden Sie unter 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 zur Angebotserstellung erfolgreich ausgeführt wurde, kann es einige Minuten dauern, bis das Angebot über die API abgerufen werden kann oder im Merchant Center angezeigt wird.
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.api.gax.grpc.ChannelPoolSettings;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
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();
// Creates a channel provider. This provider manages a pool of gRPC channels
// to enhance throughput for bulk operations. Each individual channel in the pool
// can handle up to approximately 100 concurrent requests.
//
// Channel: A single connection pathway to the service.
// Pool: A collection of multiple channels managed by this provider.
// Requests are distributed across the channels in the pool.
//
// We recommend estimating the number of concurrent requests you'll make, divide by 50 (50%
// utilization of channel capacity), and set the pool size to that number.
InstantiatingGrpcChannelProvider channelProvider =
InstantiatingGrpcChannelProvider.newBuilder()
.setChannelPoolSettings(ChannelPoolSettings.staticallySized(30))
.build();
PromotionsServiceSettings merchantPromotionsServiceSettings =
PromotionsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.setTransportChannelProvider(channelProvider)
.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 für den Einstieg verwenden können.
Ein lokales Angebot, das für alle Produkte und alle Geschäfte gilt
Die folgende Beispielanfrage zeigt, wie Sie ein lokales Angebot erstellen, das für alle Produkte in Ihrem Merchant Center-Konto und alle Geschäfte gilt, die in Ihrem verknüpften Unternehmensprofil-Konto hinzugefügt wurden.
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. Damit wird angegeben, 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. Sie signalisiert die Art des Angebots, das Sie anbieten. Eine Liste der unterstützten Werte finden Sie unter Gutschein-Werttyp.
Je nach ausgewähltem Gutschein-Werttyp sind bestimmte Attribute erforderlich.
Mit dem Feld minimumPurchaseQuantity können Sie den Wert für die Mindestbestellmenge festlegen, die für das Einlösen des Werbeangebots 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 in Anspruch zu nehmen. Weitere Informationen finden Sie unter Mindestbestellwert.
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, das für ausgewählte Produkte mit einem Gutscheincode gilt
Die folgende Beispielanfrage zeigt, wie Sie ein Onlineangebot erstellen, das für ausgewählte Produkte mit einem Gutscheincode 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 eine Hochstufung aufzurufen.
Diese GET-Anfrage ist schreibgeschützt. Sie benötigen Ihre merchantId und die ID des Angebots. 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 {ACCESS_TOKEN}' \
--header 'Accept: application/json' \
--compressed
Ersetzen Sie Folgendes:
- {ACCOUNT_ID}: Die eindeutige Kennung Ihres Merchant Center-Kontos.
- {PROMOTION_ID}: Die eindeutige Kennung der Promotion, die Sie abrufen möchten. Das Format ist {CHANNEL} ~{CONTENT_LANGUAGE}~{TARGET_COUNTRY}~{PROMOTION_ID} .
Es dauert einige Minuten, bis ein neu erstelltes Angebot ü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
Wenn die Anfrage erfolgreich ist, 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 gibt den Rabatt an, der im Rahmen des Angebots gewährt wird. Weitere Informationen finden Sie unter Monetärer Rabattbetrag eines Angebots.
Das Feld promotionUrl in diesem Beispiel enthält den Link zur Website des Geschäfts, auf der Käufer weitere Informationen zum Angebot finden. Bei Angeboten für Anzeigen für lokales Inventar wird ein Fehler zurückgegeben, wenn Sie das Feld promotionUrl nicht angeben.
Onlineangebot ansehen
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, das in diesem Beispiel verwendet wird, werden die Produkte genannt, für die das Angebot gilt. Weitere Informationen finden Sie unter Produkt-ID für Angebot.
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 {ACCESS_TOKEN}' \
--header 'Accept: application/json' \
--compressed
Die Antwort enthält eine Liste aller Angebote in Ihrem Konto. Für jedes Angebot werden Details wie promotionId, redemptionChannel, dataSource und promotionStatus angezeigt.
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 ist genehmigt und aktiv.STOPPED: Das Angebot wurde vom Konto beendet.EXPIRED: Das Angebot ist nicht mehr aktiv.PENDING: Das Angebot wurde nicht beendet und alle Überprüfungen wurden genehmigt, aber das Aktivierungsdatum liegt in der Zukunft.STATE_UNSPECIFIED: Unbekannter Status der Hochstufung.
Informationen zum Freigabeprozess für ein von Ihnen erstelltes Angebot finden Sie unter Freigabeprozess für Angebote.
Beispiel für den Angebotsstatus
Die folgenden Beispiele veranschaulichen den Unterschied zwischen erfolgreichen und fehlgeschlagenen Anfragen.
Fehlende Produktzuordnung
Der folgende Antworttext zeigt ein Onlineangebot, das aufgrund einer fehlenden Produktzuordnung 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 dazu, wie Sie künftige Ablehnungen vermeiden, 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 zur Behebung der Probleme.
Angebot wird überprüft
Der folgende Antworttext zeigt eine Promotion, die noch bewertet wird.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
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 finden Sie in den FAQs zum Angebotsstatus.
Bevorzugte Suchergebnisse 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 die Merchant Center-Benutzeroberfläche aufrufen. Weitere Informationen finden Sie unter Angebot bearbeiten oder Angebotsstatus ändern.
Wenn Sie ein bestehendes Angebot beenden möchten, können Sie mit der Methode accounts.promotions.insert das Feld attributes.promotionEffectiveTimePeriod.endTime auf einen Zeitpunkt in der Vergangenheit aktualisieren.
Weitere Informationen
- Weitere Informationen finden Sie in der Hilfe zu Angeboten.
- Informationen zur Behebung häufiger Probleme finden Sie unter Probleme im Zusammenhang mit der Promotions Sub-API beheben.
- Informationen zur Migration von der Content API for Shopping finden Sie unter Angebotsverwaltung migrieren.