Atrybuty produktowe

Okres obowiązywania ceny promocyjnej [sale_price_effective_date]: planowanie wyprzedaży w Google Shopping

Przewodnik po atrybucie sale_price_effective_date w Google Merchant Center: format zakresu dat, który włącza i wyłącza cenę promocyjną, oraz częste błędy.

Zaktualizowano 4 minuty czytania
Google Shopping – cena promocyjna: aktywna a wygasła

Sandały Zara na słupku – jasnobrązowe

79,00 € 55,00 €fashion-store.com
Wyprzedaż do 30 czerwca30% taniej

Wyprzedaż ograniczona w czasie → wygasa automatycznie → historia ceny podstawowej pozostaje wiarygodna → przekreślona cena wyświetla się poprawnie

Sandały Zara na słupku – jasnobrązowe

79,00 € 55,00 €fashion-store.com

sale_price ustawiona, ale bez okresu obowiązywania → wyprzedaż nigdy nie wygasa sama → przypadkiem trwa „stała” wyprzedaż → wiarygodność ceny spada, warunki przekreślenia ceny podstawowej nie są spełnione

sale_price_effective_date określa, kiedy wyprzedaż się zaczyna i kończy. Bez tego atrybutu wyprzedaż trwa bez końca – a to podkopuje wymóg dotyczący ceny podstawowej (żeby pojawiło się przekreślenie, cena musi obowiązywać przez 30+ dni) i może powodować problemy z zasadami, jeśli „pierwotna” cena w praktyce nigdy nie obowiązuje.

Czym jest sale_price_effective_date?

Atrybut sale_price_effective_date określa zakres dat, w którym obowiązuje sale_price produktu. Działa jak harmonogram: cena promocyjna włącza się w momencie startu i automatycznie wyłącza w momencie zakończenia – wtedy wyświetlana cena wraca do zwykłej wartości price. Poza tym oknem Google całkowicie ignoruje pole sale_price.

Bez tego atrybutu przesłana sale_price obowiązuje na stałe – nigdy nie wygasa. To zdecydowanie najczęstsza przyczyna wyprzedaży, które przypadkiem trwają bez końca, i może po cichu odebrać Ci możliwość wyświetlania przekreślonej ceny (która wymaga, żeby cena podstawowa obowiązywała przez co najmniej 30 z ostatnich 200 dni).

Specyfikacja techniczna

Nazwa w feedziesale_price_effective_date
WymaganyZalecany (formalnie niewymagany, ale bardzo wskazany, gdy używasz sale_price)
FormatZakres ISO 8601: start/end – np. 2025-06-01T00:00:00+00:00/2025-06-30T23:59:59+00:00
Format z samą datą2025-06-01/2025-06-30 również jest akceptowany
SeparatorUkośnik / między początkiem a końcem
Strefa czasowaPodaj przesunięcie (np. +02:00, -05:00 albo +00:00 dla UTC)

Jak działa para sale_price + sale_price_effective_date

  • Przed momentem startu: Google pokazuje zwykłą price. Cena promocyjna jest w feedzie, ale się nie wyświetla.

  • Między startem a zakończeniem: Google pokazuje sale_price, a obok przekreśloną price (jeśli spełniony jest warunek 30 dni dla ceny podstawowej).

  • Po zakończeniu: Google wraca do zwykłej price. Wartość ceny promocyjnej zostaje w feedzie, ale jest ignorowana.

  • Brak okresu obowiązywania: cena promocyjna obowiązuje bez końca, dopóki nie usuniesz jej z feedu.

Reguła 30 dni dla przekreślonej ceny

Żeby pojawiła się przekreślona cena (cena pierwotna skreślona obok ceny promocyjnej), podstawowa price musi być faktyczną ceną produktu przez co najmniej 30 z ostatnich 200 dni. W praktyce oznacza to, że:

  • Wyprzedaż trwająca 30+ dni bez daty zakończenia osłabia historię ceny podstawowej i może wyłączyć przekreślenie

  • Wyprzedaże jedna po drugiej (jedna się kończy, od razu zaczyna się kolejna) również skracają czas obowiązywania ceny podstawowej

  • Sztuczne podniesienie price tuż przed wyprzedażą – i natychmiastowa obniżka – nie spełnia tego wymogu i narusza zasady

  • Dobrze zaplanowana wyprzedaż z określonym końcem (np. 7–14 dni) chroni historię ceny podstawowej i sprawia, że przekreślenie pojawi się przy kolejnej wyprzedaży

Zasady

  • Start musi przypadać przed zakończeniem – przy odwróconym zakresie cena promocyjna nigdy się nie włączy

  • sale_price musi być niższa niż price

  • Tylko jeden zakres dat na produkt (nie kilka zakresów)

  • Nie ustawiaj daty zakończenia w przeszłości – cena promocyjna od razu zostanie uznana za wygasłą

  • Jeśli podajesz godzinę, przesunięcie strefy czasowej jest obowiązkowe – bez niego wyprzedaż może się włączyć lub wygasnąć o nieoczekiwanej porze

Dobre praktyki

  • Zawsze ustawiaj datę zakończenia – prawie nigdy nie ma biznesowego powodu, żeby wyprzedaż trwała bez końca. Jeśli w procesie generowania feedu każda wyprzedaż musi mieć datę końca, unikniesz przypadkowo przedłużonych promocji.

  • Planuj wyprzedaże w feedzie z wyprzedzeniem – prześlij sale_price + sale_price_effective_date z przyszłą datą startu jeszcze przed rozpoczęciem wyprzedaży. Unikniesz pośpiechu z feedem w dniu startu, a wyprzedaż włączy się dokładnie na czas.

  • Do dynamicznego planowania wyprzedaży używaj dodatkowego feedu – jeśli często robisz krótkie promocje (np. flash sale), dodatkowy feed obejmujący tylko produkty objęte wyprzedażą odświeża się szybciej niż pełny feed i pozwala włączać i wyłączać wyprzedaże w krótszych odstępach czasu.

  • Traktuj regułę 30 dni jako ograniczenie w kalendarzu promocji – po każdej wyprzedaży odczekaj co najmniej 30 dni z pełną price, zanim uruchomisz kolejną wyprzedaż na te same produkty. Dzięki temu przy następnych promocjach nadal będziesz mieć prawo do przekreślonej ceny.

Najczęstsze błędy

  • sale_price bez sale_price_effective_date – wyprzedaż nigdy nie wygasa sama

  • Zamienione daty startu i zakończenia – wyprzedaż nigdy się nie włącza

  • Format bez ukośnika (np. dwa osobne pola z datami) – nieprawidłowy; musi to być jeden ciąg start/end

  • Brak przesunięcia strefy czasowej – wyprzedaż włącza się lub wygasa o nieoczekiwanej porze

  • Data zakończenia w przeszłości – Google uznaje wyprzedaż za zakończoną i od razu pokazuje zwykłą cenę

  • Wyprzedaże tak częste, że historia ceny podstawowej spada poniżej 30 dni – przekreślona cena przestaje się wyświetlać

  • sale_price równa price – brak rabatu, brak przekreślenia, możliwe ostrzeżenie o jakości danych

Często zadawane pytania

Jaki dokładnie jest format sale_price_effective_date?
To zakres dat złożony z dwóch dat z godziną w formacie ISO 8601, oddzielonych ukośnikiem: YYYY-MM-DDThh:mm:ss+HH:MM/YYYY-MM-DDThh:mm:ss+HH:MM. Przykład: 2025-06-01T00:00:00+00:00/2025-06-30T23:59:59+00:00. Oznacza to, że wyprzedaż startuje o północy UTC 1 czerwca i kończy się z końcem 30 czerwca. Zawsze podawaj przesunięcie strefy czasowej. Format z samą datą (bez godziny) też jest akceptowany: 2025-06-01/2025-06-30, ale dopiero godzina daje Ci precyzyjną kontrolę nad tym, kiedy wyprzedaż się włącza i wygasa.
Czy sale_price_effective_date jest wymagany, gdy używam sale_price?
Formalnie nie jest wymagany, ale bardzo go zalecamy. Jeśli ustawisz sale_price bez sale_price_effective_date, cena promocyjna zacznie obowiązywać od razu i nigdy nie wygaśnie sama – będzie aktywna, dopóki nie usuniesz sale_price z feedu. To najczęstsza przyczyna wyprzedaży, które przypadkiem trwają dłużej, niż miały. Zawsze ustawiaj zakres dat, żeby promocja na pewno wygasła automatycznie.
Czym jest reguła 30 dni dla ceny podstawowej i jaki ma związek z tym atrybutem?
Żeby w reklamach produktowych pojawiła się przekreślona cena (cena pierwotna skreślona obok ceny promocyjnej), Google wymaga, aby cena podstawowa (price) była faktyczną ceną produktu przez co najmniej 30 z ostatnich 200 dni. Jeśli wyprzedaż trwa za długo – zwłaszcza przez brak sale_price_effective_date – obniżona cena w praktyce staje się ceną „prawdziwą”, warunek 30 dni nie jest spełniony, a przekreślenie znika. Wyprzedaż z jasno określonym końcem chroni historię ceny podstawowej.
Czy mogę zaplanować przyszłą wyprzedaż za pomocą tego atrybutu?
Tak. Możesz przesłać sale_price i sale_price_effective_date z datą startu w przyszłości, a Google samo włączy cenę promocyjną, gdy ta data nadejdzie. Do tego czasu wyświetla się aktualna wartość price. To idealne rozwiązanie przy planowanych promocjach (Black Friday, wyprzedaże sezonowe): prześlij dane o wyprzedaży wcześniej, a promocja wystartuje zgodnie z harmonogramem – bez aktualizowania feedu w dniu startu.
Co się dzieje, gdy minie czas zakończenia z sale_price_effective_date?
Gdy minie data i godzina zakończenia podana w sale_price_effective_date, Google automatycznie wraca do wyświetlania zwykłej wartości price i usuwa oznaczenie wyprzedaży. Wartość sale_price zostaje w feedzie – Google po prostu ją ignoruje, bo okres obowiązywania minął. Nie musisz usuwać sale_price z feedu po zakończeniu wyprzedaży, choć dla porządku warto to zrobić przy najbliższej pełnej aktualizacji feedu.
Czy sale_price może być wyższa niż zwykła cena?
Nie – Google wymaga, żeby sale_price była niższa niż price. Jeśli sale_price jest równa price albo wyższa, oznaczenie wyprzedaży się nie pojawi, a produkt może dostać ostrzeżenie o jakości danych. Upewnij się, że rabat jest prawdziwy (choćby niewielki). Google monitoruje też powtarzające się schematy i nie pokazuje przekreślonej ceny przy produktach ze sztucznie zawyżoną ceną podstawową.

Powiązane poradniki