Přeskočit na obsah

Deduplikace purchase

Použití: jednoduchá deduplikace purchase eventu přes transaction_id uložený v localStorage.

Pozor na:

  • Obsahuje placeholder pro transaction_id, který není validní implementace bez napojení na reálné ID objednávky.
  • Event purchase_no_duplicate se posílá jen při prvním výskytu daného ID.
  • Skript používá localStorage, takže deduplikace platí pro konkrétní prohlížeč a zařízení.
  • Před nasazením je nutné ověřit chování při opakovaném načtení thank-you stránky.
  • Je vhodné zvážit expiraci uložených ID, pokud web generuje velký objem objednávek.

Proměnné v ukázce:

  • var transaction_id = "ZDE VLOŽIT ID OBJEDNÁVKY"; je placeholder pro jednoznačné ID objednávky. V GTM ho napoj na datovou vrstvu, typicky například {{dl.ecom.purchase.transactionID}} nebo jinou proměnnou, která vrací skutečné ID transakce.
  • var purchase_ je pole dříve uložených ID objednávek načtené z localStorage pod klíčem purchases.
  • purchase_no_duplicate je Data Layer event, který může sloužit jako trigger pro navazující purchase značku (Meta, GA4 atd.).
var transaction_id = "ZDE VLOŽIT ID OBJEDNÁVKY";
var purchase_ = localStorage.getItem("purchases") ? localStorage.getItem("purchases") : "[]";
purchase_ = JSON.parse(purchase_);
if (!purchase_.includes(transaction_id)) {
purchase_.push(transaction_id);
dataLayer.push({
event: "purchase_no_duplicate"
});
localStorage.setItem("purchases", JSON.stringify(purchase_));
}