Google'da sattığınız ürünlerle ilgili özel teklifleri sergilemek için promosyonları kullanın. Promosyonlar Google Arama, Alışveriş ve Chrome gibi farklı Google mülklerinde gösterilir. Promosyonların onaylanması için belirli ölçütleri karşılaması gerekir. Daha fazla bilgi için Promosyon ölçütleri başlıklı makaleyi inceleyin.
Ürünlerinize promosyon eklediğinizde tüketiciler özel teklif bağlantısı görür. Örneğin, "%15 indirim" veya "Ücretsiz kargo". Teklif bağlantıları, ürünlerinizin çekiciliğini artırabilir ve tüketicileri satın almaya teşvik edebilir. Tüm promosyonlar, ödeme sırasında veya satış noktasında uygulanır.
Daha fazla bilgi için Promosyonla ilgili temel bilgiler başlıklı makaleyi inceleyin.
Ön koşullar
Google, promosyonlarınızı göstermeden önce işletmeniz ve ürünleriniz hakkında belirli bilgileri sağlamanızı ister. Aşağıdakilere sahip olmanız gerekir:
- Google Merchant Center'da bir ürün verisi kaynağı.
- Google Merchant Center'da bir promosyon veri kaynağı.
- Alışveriş kampanyaları için bir Google Ads hesabı.
Ayrıca Merchant Center hesabınızı Promosyonlar programına kaydetmeniz gerekir. Kaydolup kaydolmadığınızdan emin değilseniz Merchant Center'ı kontrol edin.
Kayıtlı değilseniz istek formunu doldurun. Uygulamaya başlamaya hazır olduğunuzda promosyonlar ekibi sizi bilgilendirir.
Daha fazla bilgi için Katılım kriterleri ve politikaları başlıklı makaleyi inceleyin.
Veri kaynağı oluşturma
Promosyon veri kaynağı oluşturmak için accounts.dataSources.create yöntemini kullanabilirsiniz. Mevcut bir promosyon veri kaynağı varsa tüm veri kaynaklarını almak için accounts.dataSources.list yöntemini kullanın. Ardından, promosyon oluşturmak için promosyon veri kaynağının name alanını kullanabilirsiniz.
Gelecekteki API çağrılarında doğrudan referans vermek için her promosyonun accounts.dataSources.name değerini yerel veritabanınızda saklamanızı önemle tavsiye ederiz. Yerel veritabanınızda tek seferlik bir geriye dönük doldurma işlemi gerçekleştirebilirsiniz.
Aşağıdaki istekte, promosyon eklemek için nasıl veri kaynağı oluşturulacağı gösterilmektedir:
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources
{
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"contentLanguage": "{CONTENT_LANGUAGE}",
"targetCountry": "{TARGET_COUNTRY}"
}
}
Aşağıdakini değiştirin:
- {ACCOUNT_ID}: Hesabınızın Merchant Center kullanıcı arayüzünde görünen benzersiz tanımlayıcısı.
- {DISPLAY_NAME}: Veri kaynağının görünen adı.
- {CONTENT_LANGUAGE}: Veri kaynağındaki ürünlerin iki harfli ISO 639-1 dil kodu.
- {TARGET_COUNTRY}: Promosyonların görünür olmasını istediğiniz hedef ülkenin CLDR bölge kodu.
İstek başarıyla çalıştırıldıktan sonra, yeni oluşturulan promosyon veri kaynağıyla ilgili ayrıntıları içeren aşağıdaki yanıtı görürsünüz:
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
"dataSourceId": "{DATASOURCE_ID}",
"displayName": "{DISPLAY_NAME}",
"promotionDataSource": {
"targetCountry": "{TARGET_COUNTRY}",
"contentLanguage": "{CONTENT_LANGUAGE}"
},
"input": "API"
}
Promosyon oluşturma
Promosyon oluşturmak veya güncellemek için accounts.promotions.insert yöntemini kullanabilirsiniz. accounts.promotions.insert yöntemi, giriş olarak bir promotions kaynağı ve veri kaynağı adı alır. İşlem başarılı olursa yeni veya güncellenmiş promosyonu döndürür.
Promosyon oluşturmak için veri kaynağının adı gerekir. İsteğinizde aşağıdaki alanlar için de değerler sağlamanız gerekir:
contentLanguageredemptionChannelpromotionIdtargetCountryattributes.offerTypeattributes.genericRedemptionCodeattributes.couponValueTypeattributes.productApplicabilityattributes.promotionEffectiveTimePeriod.endTimeattributes.promotionEffectiveTimePeriod.startTimeattributes.longTitle
Google, promosyonlarınızı dağıtmadan önce inceler ve onaylar. Daha fazla bilgi için Promosyon onay süreci başlıklı makaleyi inceleyin.
Oluşturduğunuz promosyonların değer kattığından ve Alışveriş reklamları politikalarına uyduğundan emin olmak için promosyon politikalarını incelemenizi öneririz.
Aşağıdaki istekte, online promosyonun nasıl oluşturulacağı gösterilmektedir:
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
Promosyon kodunuzu ayarlarken geçerli olan kurallar hakkında bilgi edinmek için Promosyon kodu özelliği için minimum koşullar başlıklı makaleyi inceleyin.
Zorunlu offerType alanı için geçerli değerler NO_CODE ve GENERIC_CODE şeklindedir. Bu değerlerden birini sağlamazsanız API isteği, HTTP 400 yanıtı [offer_type] validation/missing_required: Invalid or
missing required attribute: offer_type ile başarısız olur. Zorunlu alanlardan herhangi birini doldurmazsanız benzer bir hata mesajı döndürülür.
attributes.genericRedemptionCode alanı için bir değer sağlamazsanız istek, HTTP 400 yanıtı [genericRedemptionCode] No
redemption code provided ile başarısız olur.
promotion.attributes.promotionDisplayTimePeriod.startTime ve promotion.attributes.promotionDisplayTimePeriod.endTime alanlarının değerleri yyyy-mm-ddThh:mm:ssZ biçiminde olmalıdır. Bu alanların değerlerini gelecekteki tarihlerle değiştirdiğinizden emin olun.
Daha fazla bilgi için Promosyon verileri spesifikasyonu başlıklı makaleyi inceleyin.
Promosyon oluşturmayla ilgili en iyi uygulamalar için Promosyonlarla ilgili en iyi uygulamalar başlıklı makaleyi inceleyin.
Promosyonlarla ilgili özelliklerin listesi için Yapılandırılmış veri özellikleri ekleme başlıklı makaleyi inceleyin.
Promosyon oluşturma isteği başarıyla çalıştırıldıktan sonra promosyonun API kullanılarak alınabilmesi veya Merchant Center'da görünmesi birkaç dakika sürebilir.
Birden fazla promosyonu eşzamansız olarak eklemek için kullanabileceğiniz bir örnek aşağıda verilmiştir:
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>");
}
}
Başlamak için kullanabileceğiniz bazı örnek promosyonlar aşağıda verilmiştir.
Tüm ürünler ve tüm mağazalar için geçerli olan bir yerel promosyon
Aşağıdaki örnek istekte, Merchant Center hesabınızdaki tüm ürünler ve bağlı İşletme Profili hesabınıza eklenen tüm mağazalar için geçerli olan bir yerel promosyonun nasıl oluşturulacağı gösterilmektedir.
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 alanı zorunludur. Promosyonun tüm ürünler için mi yoksa yalnızca belirli ürünler için mi geçerli olduğunu gösterir. Desteklenen değerler ALL_PRODUCTS ve SPECIFIC_PRODUCTS şeklindedir. Daha fazla bilgi için Promosyonunuz için ürün seçme başlıklı makaleyi inceleyin.
couponValueType alanı zorunludur. Yayınladığınız promosyonun türünü belirtir. Desteklenen değerlerin listesi için Kupon değeri türü başlıklı makaleyi inceleyin.
Seçtiğiniz kupon değeri türüne bağlı olarak bazı özellikler zorunludur.
minimumPurchaseQuantity alanı, promosyon teklifini kullanmak için gereken minimum satın alma miktarının değerini belirlemenize olanak tanır. Daha fazla bilgi için Promosyon için minimum satın alma miktarı başlıklı makaleyi inceleyin.
Benzer şekilde, promosyonu kullanmak için gereken minimum satın alma tutarını belirlemek üzere minimumPurchaseAmount alanını kullanabilirsiniz. Daha fazla bilgi için Minimum satın alma tutarı başlıklı makaleyi inceleyin.
Yerel promosyon oluşturmak için sağlamanız gereken değerler hakkında daha fazla bilgi edinmek istiyorsanız Yerel promosyonlar için veri kaynağı spesifikasyonları başlıklı makaleyi inceleyin.
Seçili ürünlere teklifi kullanma koduyla uygulanan online promosyon
Aşağıdaki örnek istekte, teklifi kullanma koduyla seçili ürünlere uygulanan bir online promosyonun nasıl oluşturulacağı gösterilmektedir.
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"
}
Promosyonları göster
Bir promosyonu görüntülemek için accounts.promotions.get kullanın.
Bu GET isteği salt okunur. merchantId ve promosyonun kimliği gereklidir. GET yöntemi, ilgili promosyon kaynağını döndürür.
Örneğin:
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
Aşağıdakini değiştirin:
- {ACCOUNT_ID}: Merchant Center hesabınızın benzersiz tanımlayıcısı.
- {PROMOTION_ID}: Almak istediğiniz promosyonun benzersiz tanımlayıcısı. Biçim {CHANNEL} ~{CONTENT_LANGUAGE}~ {TARGET_COUNTRY}~{PROMOTION_ID} şeklindedir.
Yeni oluşturulan bir promosyonun API kullanılarak alınabilmesi için birkaç dakika geçmesi gerektiğini unutmayın.
Yerel promosyonları görüntüleme
Aşağıdaki örnek istek, promosyon kodu in_store~en~US~buy_2_get_10_off olan bir yerel promosyonu alır.
GET https://merchantapi.googleapis.com/promotions/v1/accounts/{ACCOUNT_ID}/promotions/in_store~en~US~buy_2_get_10_off
İstek başarılı olduktan sonra aşağıdaki yanıtı görürsünüz:
{
"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"
}
Bu örnekteki moneyOffAmount alanı, promosyonda sunulan indirimi belirtir. Daha fazla bilgi için Promosyondaki parasal indirim tutarı başlıklı makaleyi inceleyin.
Bu örnekteki promotionUrl alanı, müşterilerin promosyon hakkında daha fazla bilgi edinebileceği mağaza web sitesinin bağlantısını sağlar. promotionUrl alanını eklemezseniz yerel envanter reklamları promosyonları hata döndürür.
Online promosyon görüntüleme
Aşağıdaki örnek istek, promosyon kodu online~en~US~25_pct_off olan bir online promosyonu alır.
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}"
}
Bu örnekte kullanılan itemIdInclusion alanı, promosyon için uygun olan ürünleri belirtir. Daha fazla bilgi için Promosyon için ürün kimliği başlıklı makaleyi inceleyin.
Promosyonları listeleme
Oluşturulan tüm promosyonları görüntülemek için promotions.list yöntemini kullanabilirsiniz.
Örnek bir istek:
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
Yanıt, hesabınızdaki tüm promosyonların listesini içerir. Her promosyon için promotionId, redemptionChannel, dataSource, promotionStatus ve daha fazlası gibi ayrıntıları görebilirsiniz.
Promosyonun durumunu görüntüleme
Bir promosyonun durumunu görmek için promotions.get veya promotions.list yönteminin döndürdüğü promotionStatus özelliğine bakın.
promotionStatus alanı aşağıdaki değerleri içerebilir:
IN_REVIEW: Promosyon hâlâ inceleniyor.REJECTED: Promosyon onaylanmadı.LIVE: Promosyon onaylandı ve etkin.STOPPED: Promosyon, hesap tarafından durduruldu.EXPIRED: Promosyon artık etkin değil.PENDING: Promosyon durdurulmadı ve tüm incelemeler onaylandı ancak etkin tarih gelecekte.STATE_UNSPECIFIED: Bilinmeyen promosyon durumu.
Oluşturduğunuz bir promosyonun onay sürecini anlamak için Promosyon onay süreci başlıklı makaleyi inceleyin.
Örnek promosyon durumu
Aşağıdaki örneklerde, başarılı ve başarısız istekler arasındaki fark gösterilmektedir.
Ürün eşleme eksik
Aşağıdaki yanıt gövdesinde, eksik ürün eşleme nedeniyle onaylanmayan bir online promosyon gösterilmektedir.
"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"
]
}
]
}
Onaylanmayan promosyonlarla ilgili sorunları gidermek ve gelecekteki retleri nasıl önleyeceğinizi öğrenmek için Onaylanmayan promosyonlarla ilgili sorunları düzeltme başlıklı makaleyi inceleyin.
Oluşturduğunuz bir promosyon onaylanmazsa ret nedenini ve sorunları düzeltme talimatlarını içeren bir e-posta alırsınız.
Promosyon değerlendiriliyor
Aşağıdaki yanıt gövdesinde, hâlâ değerlendirilmekte olan bir promosyon gösterilmektedir.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "PENDING"
},
{
"destination": "SHOPPING_ADS",
"status": "PENDING"
}
],
"itemLevelIssues": []
}
Onaylanmış ve yayınlanan bir promosyon
Aşağıdaki yanıt gövdesinde, tüketicilere gösterilen bir promosyon yer almaktadır.
"promotionStatus": {
"destinationStatuses": [
{
"reportingContext": "FREE_LISTINGS",
"status": "LIVE"
},
{
"destination": "SHOPPING_ADS",
"status": "LIVE"
} ],
"itemLevelIssues": []
}
Daha fazla bilgi için Promosyon durumuyla ilgili SSS bölümünü inceleyin.
Promosyonları silin
API'yi kullanarak promosyon silmek mümkün değildir. Promosyon silmek için Merchant Center kullanıcı arayüzüne erişmeniz gerekir. Daha fazla bilgi için Promosyonu düzenleme veya promosyon durumunu değiştirme başlıklı makaleyi inceleyin.
Mevcut bir promosyonu sonlandırmak için accounts.promotions.insert yöntemini kullanarak attributes.promotionEffectiveTimePeriod.endTime alanını geçmişteki bir zamana güncelleyebilirsiniz.
Daha fazla bilgi
- Daha fazla bilgi için Promosyonlar Yardım Merkezi'ne göz atın.
- Sık karşılaşılan sorunları gidermek için Promosyonlar alt API'si ile ilgili sorunları giderme başlıklı makaleyi inceleyin.
- Content API for Shopping'den geçiş hakkında bilgi edinmek için Promosyon yönetimini taşıma başlıklı makaleyi inceleyin.