Novinky ve formátu pro Google Nákupy - G:AVAILABILITY, G:AVAILABILITY_DATE

V posledním release jsme upravovali nastavení formátu Google Nákupy. Reflektovali jsme změny specifikace v elementu G:AVAILABILITY. Tady chceme jednotlivé změny více rozvést a upozornit případně na potřebu nastavení uživatelsky upravit.

  • dříve povolené hodnoty elementu G:AVAILABILITY:

    • in stock, out of stock, preorder
  • se změnily na

    • in_stock, out_of_stock, backorderpreorder (nově podtržítko místo mezer, nová hodnota)
  • Google sice stále akceptuje původní hodnoty s mezerami, ale doporučujeme si nastavení exportů zkontrolovat, a pokud vám to převodník nenastaví sám si hodnoty G:AVAILABILITY upravit pravidlem.

  • novinky se týkají i přímo nové hodnoty backorder - pokud tuto hodnotu u produktů uvedete, musíte zároveň doplnit element G:AVAILABILITY_DATE, kde uvedete datum odkdy bude produkt zase skladem. :information_source:

  • co někdy může mást, Google přesně nespecifikoval, kdy je možné uvádět in_stock a od kdy už se má uvádět dostupnost jako backorder.

  • pro Mergado převodník jsme tedy nastavili převod hodnoty delivery_days takto:

    • V případě detekce delivery_days > 3 ve vstupní hodnotě se na výstupu v elementu G:AVAILABILITY objeví hodnota backorder.

    • V případě detekce delivery_days <= 3 ve vstupní hodnotě se na výstupu v elementu G:AVAILABILITY objeví hodnota in_stock.

  • pokud vám toto nastavení nevyhovuje, můžete si pravidlem toto nastavení upravit.

V případě dotazů k novinkám nám neváhejte napsat do tohoto vlákna.

3 Likes

Prosím o radu ohledně G:AVAILABILITY_DATE

Příklad:
E-shop má ve feedu G:AVAILABILILTY = backorder, ale není vyplněný G:AVAILABILITY_DATE.
V e-shopu je info “expedujeme do 21 dnů”. To jsem schopná vytáhnout si z Heuréka feedu jako DELIVERY_DATE = 21

Google chce G:AVAILABILITY_DATE ve tvaru 2016-12-25T13:00-0800

https://support.google.com/merchants/answer/6324470#zippy=%2Cprodukt-je-k-dispozici-pro-předobjednání%2Ctěsně-před-datem-uvedení-do-prodeje

Nápad (nevím, jestli bude fungovat…) - je možné např. pomocí Bidding Fox Elements vytvořit G:AVAILABILITY_DATE tak, že bude obsahovat vzorec “TODAY+21”? Dnešní datum + 21 dní?
Jinak mě nenapadá, jak datum do feedu dostat. :slight_smile:

1 Like

V Mergadu nemáme funkce pro práci s datem/časem a appka BFE sice obsahuje aktuální hodnoty pro datum, čas, den, apod., ale neumí k nim přičítat dny, což neumí ani výpočtové pravidlo v Mergadu.

Takže jedině to zkusit přes Google tabulku, kde můžeš použít vzorec =TODAY()+21 a naimportovat si výsledek do Mergada jako CSV pravidlem Import datového souboru. Je to stejný, resp. podobný princip, jako zde: Naučte se, jak do Mergada doplnit datum a čas | Mergado.cz a samotnou hodnotu už si potom například z 29.7.2022 pravidlem typu Najít a nahradit převedeš na 2022-7-29T13:00-0800 :wink:

Ukázka: regex101: build, test, and debug regex

2 Likes

Super, děkuji za tip :slight_smile:

1 Like

Dobrý deň, už dva dni sa trápim s tým ako pridať do výstupného feedu “availability date” hodnotu z csv TODAY()+30. Pre skúšku som chcel najprv pridať údaje, ktoré sú vo videu, ale to sa mi stále nedarí.

  1. makro som použil čo je vo videu (Naučte se, jak do Mergada doplnit datum a čas | Mergado.cz) a taktiež som použil csv súbor, ktorý je v makre “odporúčaný” (https://docs.google.com/spreadsheets/d/e/2PACX-1vR-fQnIVKnunK11zt6Gh8HM1eVododFP3g8hEwko3JVlWIAHoZQJhNeyzUP2GQCnt1DCEB3KPGTT9Oj/pub?output=csv)

  2. výsledok je ten, že po aplikácii pravidiel vôbec neviem čo mám robiť. Ja si to predstavujem tak, že by som prepísal údaje v availability date na údaje, ktoré som stiahol z csv, konkrétne v elemente Den. Tým by som dosiahol, že pri každom tovare budem mať v “availability date” dnešný dátum. Samozrejme potom by som si to prispôsobil na dátum +30dní.

Ja ale neviem docieliť ani to aby som do availability date doplnil údaj v importovaného csv. Nikde sa mi ani nezobrazuje dnešný dátum, ktorý som naimportoval.

Ďakujem za radu.

1 Like

Dohledal jsem si Váš export v Mergadu a máte tam pravidlo “Naplnit PAIRING” až pod importním pravidlem, které potřebuje mít v elementu PAIRING už naplněnou hodnotu 1, takhle se element naplní až po importu a proto se nic neimportuje. :wink:

:bulb: Na pořadí pravidel v Mergadu záleží a aplikují se postupně shora dolů. :man_teacher:

Pomocí tlačítka “Seřadit” si posuňte pravidlo výše, nad to pro import data a času.

Pak už bude import fungovat. :peace_symbol:

Dobrý den.
Máme problém s makrem - Datum a čas do Mergada, resp. s importem *.csv souboru.
Po Importu datového *.csv souboru a následném spuštění Makra jsou hodnoty v Elementech nezměněny, resp. Vstupní i Výstupní hodnoty se rovnají 0

Co děláme špatně? Při importu datového souboru je jedno, jaké je nastavení pro Režim mapování

P. Kopeček

Dobrý den,

problém je v pořadí pravidel. První je potřeba mít pravidlo, ve kterém plníte párovací element a následně pravidlo s importem souboru, aby vše fungovalo správně.

:bulb: Na pořadí pravidel v Mergadu záleží a aplikují se postupně shora dolů . :man_teacher:

Pomocí tlačítka “Seřadit” si můžete měnit pořadí pravidel.

1 Like

O.K.
Děkuji za správné pořadí.
I když jsem četl pozorně, nastavil jsem pořadí přesně jako rastafy (09/2022).
Bylo a je na to i grafika.
Má chyba.

Ale, pokud si nechám vylistovat obsah elementů v importním souboru (v csv jsou správná) zůstává obsah roven 0 pro všechny elementy z makra!?

Teď už jenom dostat správné datum (z IMPORT_TIME) do G:AVAILABILITY_DATE dle obsahu elementu Delivery_date:
Nastavení data naskladnění (G:AVAILABILITY_DATE)

Projekt jsme dnes zkontrolovali a vše vypadá v pořádku, možná jen nebyla přegenerována data. Pokud by byl problém, ozvěte se. :slight_smile:

1 Like

Ano.
Chtělo přegenerovat a správně označit proměnné “procentem” i na konci (%proměnná%), tak jak je Mergado automaticky nabízí!
Už to běží k mé spokojenosti.

2 Likes

Dobrý den.
Ovšem, díky Google mi ještě zbývá jeden problém:

Formát data + času.
Pravidlo:
Opravit datum G:AVAILABILITY_DATE na americké (Test 20240624 - P.K.)

Datum jsem dokázal (\3-\2-\1) podle blogu, ale u času se mi nedaří a nedaří…
Najít:
“(\d+).(\d+).(\d+)T\d{+}:\d{+}:\d(+)”

Nahradit:
\3-\2-\1T\3:\2:\1+0100”

Poradíte i nyní?
Pavel Kopeček

1 Like

Pro váš konkrétní případ, kde máte datum naimportované z Google tabulky například v tomto tvaru:
4.7.2024 21:02:32
tak doporučuji nejprve doplnit počáteční nuly pro měsíce a dny (samozřejmě jen v případě, že chybí) a potom teprve naformátovat dle specifikace elementu g:availability_date se zohledněním správně zapsaného času.

Pravidlo Najít a nahradit, ve kterém bude zatrženo použití regulárních výrazů, by mělo dva řádky:

  1. řádek doplní počáteční nuly:
  1. řádek naformátuje datum a čas dle specifikace:

Výsledek nahrazení by měl vypadat takto:
4.7.2024 21:02:322024-07-04T21:02+0100

Poznámka: část +0100 je časové pásmo pro “Středoevropské země” a značí plus 1 hodina oproti UTC. Sice máme nyní letní čas a to je plus 2 hodiny oproti UTC, ale Google to zřejmě až takto detailně neřeší a postačí mu jen ta 1 hodina oproti UTC, což mají uvedeno na stránce pro správný formát data a času.

2 Likes

Děkuji.
Taková “jednoduchá” věc, ale na mne už je to příliš.
ŠLAPE TO.

Děkuji za pomocnou ruku a řešení.
Nedokázal jsem si představit, že je možné cyklit v pravidlu více řádků v pořadí
za sebou pro postupné změny…

Ještě jednou děkuji
Pavel Kopeček

2 Likes

Ještě jsem objevil tuto nesrovnalost:

ve feedu se může vyskytnout tento řetězec jako výsledek:
2024-07-6T1:47+0100
tedy den v měsíci a hodina v časovém údaji (někdy minuta) také nemá předsazenu nulu.

Ovšem příklady a testy v regexu101 jsou správné…
Pavel Kopeček

Máte pravdu, pardon :innocent: , regulární výraz na doplnění počátečních nul nebyl úplně univerzální, tak jsem v pravidle doplnil více univerzální, který už funguje pro všechna jednociferná čísla v datu:

Najít: \b(\d)\b
Nahradit: 0\1
Ukázka: https://regex101.com/r/30R8wu/1

1 Like

O.K.
Už je to správně podle všech požadavků Google.
Uvidíme co na to Google .

Děkuji a věřím, že to může pomoci i někomu jinému.
Snad nejsem jediný, kdo má tento problém…

DĚKUJI

1 Like