MERGADO Pack 3.3.1 Chyby

Dobry den,

den po release jsem testovaci verzi modulu, kterou jste dodali v

nahradil novym release. Vystup je:

  • konverze GA4 jsou odesilany s nulovou hodnotou produktu/orders
  • zbozi konverzni kod plna verze nefunguje
  • misto potvrzeni objednavky se zobrazuji 500 debug nize

(1/1) FatalThrowableError
Type error: Argument 1 passed to CartRuleCore::checkProductRestrictionsFromCart() must be an instance of Cart, instance of CartCore given, called in /homeXXXpublic/classes/CartRule.php on line 734

in CartRule.php line 867
at CartRuleCore->checkProductRestrictionsFromCart(object(CartCore), false, false, false)
in CartRule.php line 734
at CartRuleCore->checkValidity(object(Context), false, false, true)
in CartRule.php line 53
at CartRule->checkValidity(object(Context), false, false)
in CartRule.php line 1582
at CartRuleCore::autoAddToCart(object(Context))
in Cart.php line 463
at CartCore->getCartRules(4)
in Cart.php line 757
at CartCore->getProducts()
in mergado.php line 1208
at Mergado->hookDisplayOrderConfirmation(array('order' => object(Order), 'cookie' => object(Cookie), 'cart' => object(Cart), 'altern' => 3))
in Hook.php line 970
at HookCore::coreCallHook(object(Mergado), 'hookdisplayOrderConfirmation', array('order' => object(Order), 'cookie' => object(Cookie), 'cart' => object(Cart), 'altern' => 3))
in Hook.php line 355
at HookCore::callHookOn(object(Mergado), 'displayOrderConfirmation', array('order' => object(Order), 'cookie' => object(Cookie), 'cart' => object(Cart), 'altern' => 3))
in Hook.php line 907
at HookCore::exec('displayOrderConfirmation', array('order' => object(Order), 'cookie' => object(Cookie), 'cart' => object(Cart), 'altern' => 3))
in OrderConfirmationController.php line 126
at OrderConfirmationControllerCore->displayOrderConfirmation(object(Order))
in OrderConfirmationController.php line 96
at OrderConfirmationControllerCore->initContent()
in Controller.php line 292
at ControllerCore->run()
in Dispatcher.php line 515
at DispatcherCore->dispatch()
in index.php line 28
1 Like
327064#327064: *137504 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined index: WIDGET_SCREEN_WIDTH_CZ in /X/public/modules/mergado/mergado.php on line 583PHP message: PHP Notice:  Undefined index: WIDGET_MOBILE_CZ in /X/modules/mergado/mergado.php on line 584" while reading response header from upstream
1 Like

Děkujeme za nahlášení.
Předali jsme k prověření a opravě vývojářům MERGADO Packu.

1 Like

Event purchase to zasila duplicitne a v kazdem jsou duplicitne data. GA4 eviduje udalost, ale neni zapoctena hodnota ani dalsi udaje - predpokladam, ze diky duplicitnim datum. GA4 duplicitne nasazene nejsou v tag assistant je jasne videt, ze GA4 tag je pouze jeden.

1 Like
2512491#2512491: *1390 FastCGI sent in stderr: "X/modules/mergado/includes/tools/XML/Helpers/XMLQuery.php on line 132PHP message: PHP Warning:  Invalid argument supplied for foreach() in X/public/modules/mergado/includes/tools/XML/Helpers/XMLQuery.php on line 135PHP message: PHP Warning:  array_key_exists() expects parameter 2 to be array

Vse s posledni verzi prestashop 1.7.8.8 a PHP 7.4. Posledni testovaci verze jakz takz fungovala, ale posledni release je silenstvi. Defact to znefunkcni odesilani objednavek/emailu, chybejici data g GA4 o konverzi znefunkcni reklamni kamapne. Trochu se proklinam, ze jsem odstranil vlastni snippets s GTM layer a presel na MERGADO. Ted jsem ve stavu kdy nemam ani feed produktu, ani funkcni reklamy…

1 Like

Zdravím @gbs , doplňuji info z vývoje:

Některé z popsaných chyb mohou souviset s verzí PHP.

  • Používáte stále PS 1.7.8.7?
  • Jakou máte verzi PHP?
  • Případně máte nějakou speciální konfiguraci PHP?

Na čisté instalaci PS 1.7 a PHP 7.4 vše funguje jak má.
Zdá se, že je to chybami někde jinde, ne v našem modulu.

Konkrétně bylo testování hlášených chyb provedeno na čistém PS 1.7.8.8 na PHP 7.4 s poslední vydanou verzi tedy MERGADO Pack 3.3.1.

Vypadá to, že chyby jsou způsobeny něčím co v čistém PrestaShopu není (např. custom úprava, speciální nastavení serveru, … )

Můžete si zkusit v souboru MERGADO/MERGADO.php na řádku 1222 až 1224 přepsat všechny new CartCore na new Cart

Původní:

$cart = new CartCore($orderCartId);
$cartCz = new CartCore($orderCartId, LanguageCore::getIdByIso(self::LANG_CS));
$cartSk = new CartCore($orderCartId, LanguageCore::getIdByIso(self::LANG_SK));

Nové:

$cart = new Cart($orderCartId);
$cartCz = new Cart($orderCartId, LanguageCore::getIdByIso(self::LANG_CS));
$cartSk = new Cart($orderCartId, LanguageCore::getIdByIso(self::LANG_SK));

Tyto řádky, na které je potom navázáno volání funkce jenž vyhazuje chybu, jsou tam ale již od verze 2.x.x. Takže pokud vám běžela nějaká verze MERGADO Packu v pořádku předtím, neměl by to být problém našeho modulu.

Dobry den,

1.7.8.8 na nginx konfiguraci dle PS dokumentace a PHP 7.4. Warning souvisi s tim, ze default konfigurace php neni dostatecna, to je vedlejsi vec. Problemy jsou zpusobeny tim, ze:

  1. Predchozi verze nebyly zjevne uzpusobene po upgrade - kazdy uprage znamenal odesilani udalosti v +1 vyssim poctu.

  2. Hlavni problem pretrvavat a resil se jiz v Mergado Pack 3.3.0 data layer a konverze bug - #12 od petrmindl

Meli jste chybou strukturu purchase tagu, ale v posledni verze tento problem pretrvava. Tag purchase v aktualni verzi modulu

{
  event: "purchase",
  gtm: {uniqueEventId: 9, start: 1673101982743, priorityId: undefined},
  eventModel: {
    transaction_id: "12",
    value: 21,
    tax: 25.16,
    shipping: 124,
    currency: "CZK",
    items: [
      {
        item_id: "324-423",
        item_name: "XXX",
        item_category: "Lžičky",
        quantity: 1,
        price: 20.999999,
        discount: 0
      }
    ],
    send_to: "G-XXX"
  }
}

a pozadovany je popsan na Set up a purchase event  |  Google Analytics 4 Properties  |  Google for Developers

Tipuji, ze problem s nezaznamenanim tag je chybejici currency v items. Tento problem lze reprodukovat i na ciste instalaci PS. V debugview sice purchase tag lze videt, ale nasledujici den neni zpracovat do historickych dat, protoze neni vporadku.

Kdyz se podivam na strukturu toho tagu tak neni dle specifikaci google. Prijde mi to jakobyste michali udalosti GA4 a GTM dohromady a predpokladali, ze jsou stejne, ale ony nejsou. Staci proste implementovat to co je v dokumentaci aktualni pro GA4 a to vystupem modulu neni.

1 Like

Cista instalace PS 1.7.8.8 napojena na testovaci GA4. Overil jsem, ze je to tak jak pisu, struktura neni vporadku.

Upravou

/modules/MERGADO/includes/services/Google/GoogleAnalytics4/templates/shared/purchase.js

      const productObject = {
        'item_id': item.id_merged,
        'item_name': item.name,
        'item_category': item.category_name,
        'quantity': item.quantity,
        'price': price,
        'discount': discount,
      };

pridanom currency

      const productObject = {
        'item_id': item.id_merged,
        'item_name': item.name,
        'currency': currency,
        'item_category': item.category_name,
        'quantity': item.quantity,
        'price': price,
        'discount': discount,
      };

Dojde k ulozeni obsahu purchase do historie GA4.

1 Like

Děkuji, vývojáře jsem informoval, podívají se na to.

U sklik mereni konverzi je uvedeno:

Kód najdete v administraci Sklik → Nástroje → Sledování konverzí → Detail konverze / Vytvořit novou konverzi. Kód se nachází ve vygenerovaném konverzním HTML kódu za: src="//c.imedia.cz/checkConversion?c=KONVERZNÍ KÓD

Tohle ale jiz neodpovida tomu jak vypada konverzi kod seznam sklik.

<script type="text/javascript" src="https://c.seznam.cz/js/rc.js"></script>
<script>
var conversionConf = {
  id: 123456789,
  value: null
};
if (window.rc && window.rc.conversionHit) {
  window.rc.conversionHit(conversionConf);
}
</script>
1 Like

Zbozi mereni nefunguje jak jsem jiz reportoval drive. Odhaduji dle popisku v nastaveni modulu, ze cely kod pro zbozi bude outdated.

17.1.2023 12:34 Opakovaně jsme zaznamenali chybějící data z frontendové části konverzního kódu (JavaScript). Buď data z frontendové části nezasíláte, nebo je zasíláte kódem Omezeného měření.
17.1.2023 10:30 Dopravce nebo způsob doručení uvedený v objednávce neodpovídá identifikátoru DELIVERY_ID Zboží (deliveryType). (10x)
17.1.2023 10:30 Přijali jsme data objednávky z backendové části konverzního kódu, ale chybí odpovídající data z frontendové části (JavaScript). (5x)
16.1.2023 16:57 Přijali jsme data objednávky z frontendové části konverzního kódu (JavaScript), ale chybí odpovídající data z backendové části. (7x)
16.1.2023 16:57 V datech backendové části konverzního kódu byl zaslán tajný klíč (PRIVATE_KEY), který se neshoduje s tajným klíčem vašeho obchodu. Konverzi proto nelze započítat. (6x)

1 Like

Doplňuji odpověď ke komentáři týkajícím se chybejici currency v items:

Podle našich vývojářů tam být nemá, resp. v dokumentaci, na kterou jste posílal odkaz currency element uvedený není.

Stejně tak není currency element u items v přesné specifikace elementu purchase (https://developers.google.com/analytics/devguides/collection/ga4/reference/events?client_type=gtag#purchase)

Neměl by tam být ani zapotřebí vzhledem k tomu, že nelze zaplatit objednávku najednou ve dvou měnách.


ad Sklik mereni konverzi)
Nápovědu kde najít kód upravíme, díky za upozornění.


ad Zbozi mereni nefunguje)
Na tohle se ještě musíme podívat, děkujeme.

Ještě jedna informace pro @gbs :
Včera jsme vydali novou verzi MERGADO Packu 3.4.1., viz [RELEASE] Mergado Pack 3.4 pro PrestaShop
Prosím pokud náhodou zjistíte nějaký problém v této nové verzi MERGADO Packu 3.4.1., nepište jej už sem do tohoto vlákna, ale ideálně do nového, kde budeme opět reagovat na případné potíže dané verze. :wink:

1 Like

Stejně tak není currency element u items v přesné specifikace elementu purchase (https://developers.google.com/analytics/devguides/collection/ga4/reference/events?client_type=gtag#purchase)

To je dano tim, ze google mel na ruznych mistech uvedene neco jineho, zjevne dle update stranky to 13teho ledna upravil. Nicmene prakticky bez currency v item nebyly udalosti purchase viditelne v historii a i ted po update google docs se s touto upravou vse funguje vporadku. Nepresna dokumentace neni nic neobvykleho, predpokladam, ze rozhodujici je to, co funguje a trochu jsem ocekaval, ze plugin pred vydanim prochazi nejakym internim testovanim…

Včera jsme vydali novou verzi MERGADO Packu 3.4.1., viz [RELEASE] Mergado Pack 3.4 pro PrestaShop
Prosím pokud náhodou zjistíte nějaký problém v této nové verzi MERGADO Packu 3.4 .1., nepište jej už sem do tohoto vlákna, ale ideálně do nového, kde budeme opět reagovat na případné potíže dané verze.

OK

1 Like