Ten przewodnik zawiera wymagania, rekomendacje dotyczące modelowania danych i sprawdzone metody wdrażania kart podarunkowych (znanych też jako bony) w pliku danych z ofertami. Te rekomendacje uzupełniają standardową dokumentację Centrum działań i dotyczą aspektów integracji specyficznych dla kart podarunkowych.
Tryb oferty i kategoryzacja
Przesyłając informacje o dostępności kart podarunkowych, upewnij się, że te podstawowe atrybuty są prawidłowo skonfigurowane:
Tryb oferty:
offer_modesmusi być zawsze ustawiony jako tablica singleton zawierająca wartość"OFFER_MODE_GIFT_CARD_PURCHASE":"offer_modes": ["OFFER_MODE_GIFT_CARD_PURCHASE"]Bony o określonej wartości a rabaty natychmiastowe:
gift_card_infojest zarezerwowany wyłącznie dla wcześniej zakupionych bonów i kart podarunkowych o określonej wartości (OFFER_MODE_GIFT_CARD_PURCHASE).- Jeśli klient płaci bezpośrednio w sklepie stacjonarnym za natychmiastowy rabat bez kupowania kodu bonu do późniejszego wykorzystania, modeluj ofertę jako standardowy rabat natychmiastowy (
OFFER_MODE_WALK_IN) i całkowicie pomiń komunikatgift_card_info.
Modelowanie nominału: nominał karty podarunkowej powinien odzwierciedlać wartość bonu (za co można go wykorzystać), a nie kwotę, którą płaci użytkownik (użytkownik płaci cenę z rabatem).
Łączenie wielu nominałów: wiele bonów o dokładnie takim samym procencie rabatu i warunkach, ale różniących się wartością nominalną, musi być zgrupowanych w jednym wpisie oferty. Ponieważ
denomination_typedziała jakooneof, partnerzy muszą wybrać między ustawieniemfixed_denominationsacustom_range:- Stałe nominały: używaj, gdy oferowane są dyskretne, wstępnie ustawione kwoty kart podarunkowych (np. 500, 1000 i 2000 PLN, wszystkie z rabatem 10%). Upewnij się, że wszystkie stałe nominały, które są wyprzedane lub niedostępne na stronie docelowej, są wyraźnie wykluczone z przesyłanych plików danych.
- Zakres niestandardowy: używaj tylko wtedy, gdy użytkownicy mogą swobodnie wpisać dowolną
wartość nominalną w zdefiniowanych granicach na stronie zakupu (np. dowolną wartość
od 100 do 5000 PLN z rabatem 5%). Jeśli docelowa strona docelowa oferuje dyskretne, wstępnie ustawione kwoty, modeluj informacje o dostępności wyłącznie w sekcji
fixed_denominations. Jeśli w ofercie dostępne są zarówno stałe, jak i niestandardowe nominały, partnerzy powinni ustawić elastyczny zakres niestandardowy.
Obsługa sieci wielolokalizacyjnych
W przypadku bonów podarunkowych, które obowiązują w dużych sieciach handlowych lub gastronomicznych, gdzie warunki są identyczne w wielu punktach zainteresowania, nie podawaj osobnego obiektu Offer dla każdej lokalizacji sklepu. Zamiast tego użyj zbiorczego podejścia do przesyłania danych, podając jeden obiekt Offer zawierający listę wszystkich identyfikatorów jednostek sklepu uczestniczącego w programie (entity_ids).
Branding portalu (brand_id)
Niektóre bony są oferowane za pośrednictwem określonych portali bankowych lub lojalnościowych (np. programów lojalnościowych banków lub platform partnerskich), a nie głównej witryny sprzedawcy. Aby zapewnić dokładny branding tych portali, partnerzy muszą wypełnić pole brand_id w obiektach Offer najwyższego poziomu.
Pominięcie brand_id powoduje domyślne ustawienie marki głównej konta (a brand_id nie jest wymagany, gdy używasz domyślnej marki konta), ale wyraźne wypełnienie brand_id dokładnie powiąże informacje o dostępności z odpowiednim portalem marki, dzięki czemu użytkownicy będą widzieć prawidłowe logo i nazwy partnerów. Więcej informacji o konfigurowaniu marek znajdziesz w artykule
Konfiguracja marek.
Struktura ważności (ValidityScope)
Karty podarunkowe mają unikalną strukturę ważności, która odróżnia czas na zakup oferty od czasu na wykorzystanie karty. Partnerzy muszą zawsze używać odpowiednich wartości wyliczeniowych ValidityScope:
VALIDITY_SCOPE_CLAIM: określa czas, w którym oferta karty podarunkowej jest dostępna do zakupu na platformie partnera. Ten wpis musi być zawsze obecny. Przesyłając pliki danych, wypełnij okres ważności roszczenia, zaczynając od dokładnej daty przesłania pliku danych. Ponadto nigdy nie pozostawiaj okresów roszczeń otwartych, jeśli na stronie docelowej wyraźnie reklamowana jest data zakończenia kampanii. Dopasujvalid_through_timedo reklamowanej daty ważności.VALIDITY_SCOPE_REDEEM: określa czas na wykorzystanie po zakupie (czas, w którym użytkownicy mogą wykorzystać bon w sklepie po jego zakupie, który można określić jako czas trwania lub okres).
Mapowanie typu działania
Partnerzy często kategoryzują bony za pomocą konstrukcji takich jak „można wykorzystać online/offline”, „online/outlet” lub „w sklepie”. W przesyłanych plikach danych należy to zmapować na wyliczenie ActionType, aby dokładnie określić, jak produkt jest wykorzystywany:
- Branża gastronomiczna: mapuj karty podarunkowe „Na miejscu” na
ACTION_TYPE_DINING. Mapuj karty podarunkowe „Dostawa” naACTION_TYPE_FOOD_DELIVERY. Mapuj karty podarunkowe „Na wynos” naACTION_TYPE_FOOD_TAKEOUT. - Branża handlowa: mapuj karty podarunkowe „W sklepie” na
ACTION_TYPE_SHOPPING_IN_STORE. (Uwaga: bony handlowe tylko online nie są obsługiwane). - Mapowanie pojedynczego kanału: każdy
offer_idmoże należeć do dokładnie jednegoActionType. Jeśli produkt obsługuje wiele kanałów realizacji (np. dostawę jedzenia i odbiór osobisty), utwórz osobne obiekty Offer z unikalnymi identyfikatorami dla każdego trybu.
Rabaty warstwowe i oferty dodatkowe
- Rabaty warstwowe w zależności od formy płatności: jeśli oferowane są różne procenty rabatu w zależności od użytego instrumentu płatniczego (np. wyższy rabat w przypadku e-portfela niż w przypadku kart kredytowych), należy je modelować jako osobne obiekty Offer. Aby zapewnić niezawodne oszczędności, partnerzy powinni zapewnić wyczerpujące pokrycie promocyjne we wszystkich obsługiwanych formach płatności (np. e-portfele, karty kredytowe, karty debetowe, bankowość internetowa). Jeśli oferta dotyczy wszystkich instrumentów płatniczych akceptowanych na platformie, pole instrumentu płatniczego nie powinno być ustawione.
- Konstrukcja ofert dodatkowych: aby przedstawić skumulowane korzyści, takie jak punkty w programie lojalnościowym specyficzne dla banku lub dodatkowy zwrot za zakupy za zakup karty podarunkowej, prześlij je jako całkowicie osobne oferty dodatkowe, używając odpowiedniego typu wyliczeniowego
OfferCategory–OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER. Opisz nagrodę wOfferDetails.other_offer_details_text(np., "Do 5 razy więcej punktów lojalnościowych") i połącz ją z podstawową ofertą karty podarunkowej, wypełniającOfferRestrictions.combinable_offer_idswartościąoffer_idpodstawowej karty podarunkowej.
Warunki i warunki specjalne
Partnerzy powinni używać terms.terms_and_conditions, aby podać pełne warunki prawne karty podarunkowej lub bonu. W tym polu należy umieścić wszystkie instrukcje i wytyczne dotyczące użytkowania dla użytkowników.
Jeśli krytyczne ograniczenia wymagają specjalnego wyróżnienia w interfejsie (np. wygaśnięcie salda jednorazowego użytku, brak możliwości zwrotu lub limity łączenia transakcji, takie jak
„Do 2 bonów można połączyć na rachunek”), wyróżnij je w
offer_restrictions.special_conditions.
Rekomendacje dotyczące tytułu oferty
Długość tytułu oferty nie powinna przekraczać 40 znaków. Usuń nazwy marek sprzedawców z offer_display_text, ponieważ oferty są wyświetlane bezpośrednio na stronie sprzedawcy. Zalecamy stosowanie tych formatów tytułów:
| Przypadek użycia | Zalecany tytuł |
|---|---|
| Rabat stały na bony | X% off on Gift Cards |
| Rabat zmienny w zależności od formy płatności | X% off on Gift Cards using {e-wallet}
|
| Rabaty zmienne na różne nominały | X% off on Gift Cards (Przesyłaj różne
rabaty jako osobne oferty) |
| Karty podarunkowe B2B2C | X% off on Gift Cards (Branding jest
wyświetlany za pomocą miniatury z użyciem
brand_id) |
| Oferty dodatkowe | Flat/Up to 5X reward points/
<Platform> coins |
Wymagania dotyczące strony docelowej
Każdy reklamowany offer_url musi zwracać kod HTTP 200 OK bezpośrednio, bez przekierowań pośrednich, i prowadzić do aktywnej strony docelowej potwierdzającej ofertę.
Plik danych nie może zawierać wyprzedanych ani niedostępnych nominałów. Utrzymuj ścisłą synchronizację informacji o dostępności między polami nominałów w pliku danych a opcjami zakupu na żywo na docelowej stronie docelowej.
Docelowa strona docelowa powinna wyraźnie informować, że oferta dotyczy konkretnie kart podarunkowych lub bonów.
Jeśli na przykład strona docelowa partnera wyświetla tylko ogólne wezwania do działania dotyczące płatności, takie jak „Zapłać rachunek”, bez wyraźnego informowania, że po zakończeniu transakcji zostanie wydana karta podarunkowa o określonej wartości, użytkownicy przekierowani z Google, którzy chcą kupić kartę podarunkową, mogą się pomylić lub zrezygnować. Nawet jeśli powiadomienie o bonie pojawi się na kolejnym etapie płatności, wymagana jest jasność na początkowej stronie docelowej.
Oferty z kodami kuponów
Niektóre oferty wymagają wpisania przez użytkownika kodu kuponu, np. „Zastosuj kod SAVE20, aby uzyskać 20% rabatu na cały rachunek”. Pamiętaj, że Google nie wyświetla kodów kuponów z definicji kuponu. Partnerzy mogą umieścić te informacje w OfferDetails.offer_display_text , aby były wyświetlane użytkownikom. Oferty oparte na kuponach dzielą się na 2 kategorie:
- Oferty, w których kupon jest automatycznie prezentowany przy płatności każdemu użytkownikowi, który trafił na stronę z Google. Są one dozwolone.
- Oferty, które wymagają od użytkownika wpisania kodu kuponu przy płatności, ale nie zawierają instrukcji, jak zastosować kod kuponu na stronie docelowej adresu URL oferty, lub nie stosują automatycznie kuponu po kliknięciu adresu URL oferty, są niedozwolone.
Przykład oferty karty podarunkowej w formacie JSON
{
"data": [
{
"offer_id": "example-dining-gift-card-10off",
"entity_ids": [
"dining-1",
"dining-2"
],
"offer_modes": [
"OFFER_MODE_GIFT_CARD_PURCHASE"
],
"action_type": "ACTION_TYPE_DINING",
"offer_source": "OFFER_SOURCE_AGGREGATOR",
"offer_category": "OFFER_CATEGORY_BASE_OFFER",
"offer_details": {
"offer_display_text": "10% off on Gift Cards",
"discount_percent": 10.0,
"gift_card_info": {
"fixed_denominations": {
"amounts": [
{
"units": 500,
"currency_code": "INR"
},
{
"units": 1000,
"currency_code": "INR"
},
{
"units": 2000,
"currency_code": "INR"
}
]
}
}
},
"offer_restrictions": {
"combinable_with_other_offers": false,
"special_conditions": [
"Single-use balance expiration applies",
"Maximum 2 gift card vouchers can be combined per bill",
"No cash refund will be provided against this voucher"
]
},
"terms": {
"restricted_to_certain_users": false,
"terms_and_conditions": "1. Redeemable exclusively at participating dining outlets.\n2. Single-use balance expiration applies.\n3. Maximum 2 gift card vouchers can be combined per bill.\n4. No cash refund will be provided against this voucher."
},
"validity_periods": [
{
"valid_period": {
"valid_from_time": {
"seconds": "1774934350"
},
"valid_through_time": {
"seconds": "1806470350"
}
},
"validity_scope": "VALIDITY_SCOPE_CLAIM"
},
{
"validity_duration_in_days": 365,
"validity_scope": "VALIDITY_SCOPE_REDEEM"
}
],
"offer_url": "https://www.example-portal.com/dining-gift-cards/buy"
}
]
}