Übersicht über die Merchant Promotions API

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, Shopping und Chrome angezeigt.

Wenn Sie Ihren Produkten Angebote hinzufügen, sehen Käufer einen Link für ein Sonderangebot, z. B. „15% Rabatt“ oder „Kostenloser Versand“. Angebotslinks können die Attraktivität Ihrer Produkte steigern und Käufer zum Kauf bewegen.

Weitere Informationen finden Sie unter Angebotsgrundlagen.

Voraussetzungen

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

Außerdem müssen Sie Ihr Händlerkonto für das Promotions-Programm anmelden. Wenn du nicht sicher bist, ob du schon registriert bist, sieh im Merchant Center nach.

Wenn Sie nicht registriert sind, füllen Sie das Anfrageformular aus. Das Promotions-Team informiert Sie, wenn Sie mit der Implementierung beginnen können.

Weitere Informationen finden Sie unter Teilnahmekriterien und Richtlinien.

Datenquelle erstellen

Verwenden Sie die datasource.create API, um einen Angebotsfeed zu erstellen. Wenn ein vorhandener Angebotsfeed verfügbar ist, verwende datasource.get, um datasource.name abzurufen.

Das Ersuchen sieht so aus:

POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/{account}/dataSources/{datasource}

Beispiel

Das Beispiel zeigt eine typische Anfrage und Antwort.

Anfrage:

POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/123/dataSources {"displayName": "test api feed", "promotionDataSource":{"targetCountry":"US", "contentLanguage":"en"}}

Antwort:

{
  "name": "accounts/123/dataSources/1000000573361824",
  "dataSourceId": "1000000573361824",
  "displayName": "test api feed",
  "promotionDataSource": {
    "targetCountry": "US",
    "contentLanguage": "en"
  },
  "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 den Namen der Datenquelle als Eingabe. Bei erfolgreicher Ausführung wird das neue oder aktualisierte Angebot zurückgegeben.

Zum Erstellen eines Angebots ist datasource.name erforderlich.

Google überprüft und genehmigt Ihre Angebote, bevor sie veröffentlicht werden. Weitere Informationen finden Sie unter Freigabeprozess für Angebote.

Das Formular des Antrags:

POST https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*/}promotions:insert

Sehen Sie sich die folgenden Beispielwerbeaktionen zu Referenzzwecken an.

Beispiel 1: Eine lokale Werbeaktion, die für alle Produkte und alle Geschäfte gilt

POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/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"
      },
      "minimum_purchase_quantity": 2,
      "storeApplicability": "ALL_STORES",
      "promotionUrl": "http://promotionnew4url.com/",
      "promotionDestinations": [
        "LOCAL_INVENTORY_ADS"
      ],
    }
  },
  "dataSource": "accounts/123/dataSources/1000000573361824"
}

Beispiel 2: Ein Onlineangebot mit einem Gutscheincode, das für ausgewählte Produkte gilt

POST https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/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/123/dataSources/1000000573361824"
}

Besondere Hinweise

Nachdem die Werbung erstellt wurde, kann es einige Minuten dauern, bis sie erstellt ist.

Eine Liste der angebotsbezogenen Attribute findest du unter Attribute für strukturierte Daten hinzufügen.

Lesen Sie vor dem Erstellen und Verwalten von Angeboten die Best Practices für Angebote.

Werbeaktionen ansehen

Wenn Sie ein Angebot ansehen möchten, verwenden Sie accounts.promotions.get. Dieses get ist schreibgeschützt. Hierfür sind Ihre merchantId und die ID des Angebots erforderlich. Die Methode get gibt die entsprechende Ressource für Angebote zurück.

Beispiel:

GET https://merchantapi.googleapis.com/promotions/v1beta/{name=accounts/*/promotions/*}

Sehen Sie sich diese Beispiele genau an.

Beispiel 1: Lokales Angebot

GET https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions/in_store~en~US~buy_2_get_10_off

{
 "name": "accounts/123/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"
   },
   "minimum_purchase_quantity": 2,
   "storeApplicability": "ALL_STORES",
   "promotionUrl": "http://promotionnew4url.com/",
   "promotionDestinations": [
     "LOCAL_INVENTORY_ADS"
   ],
 }
 "dataSource": "accounts/123/dataSources/1000000573361824"
}

Beispiel 2. Eine Online-Werbeaktion

GET https://merchantapi.googleapis.com/promotions/v1beta/accounts/123/promotions/online~en~US~25_pct_off
{
 "name": "accounts/123/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}/dataSources/{dataSource}"
}

Werbeaktionen auflisten

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

GET https://merchantapi.googleapis.com/promotions/v1beta/{parent=accounts/*}/promotions

Angebotsstatus

Den Status eines Angebots sehen Sie im Attribut promotionStatus, das von promotions.get und promotions.list zurückgegeben wird.

Weitere Informationen zum Freigabeprozess finden Sie unter Freigabeprozess für Angebote.

Beispiel für Angebotsstatus

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

Beispiel 1. Der folgende Antworttext zeigt ein Onlineangebot, das aufgrund einer fehlenden Produktzuordnung abgelehnt würde.

  "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"
        ]
      }
    ]
  }

Beispiel 2. Der folgende Antworttext zeigt ein genehmigtes Angebot.

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

Beispiel 3. Ein genehmigtes und aktives Angebot

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

Weitere Informationen

Weitere Informationen findest du in der Promotions-Hilfe.

Weitere Informationen zur Migration von der Content API for Shopping finden Sie unter Angeboteverwaltung migrieren.