Nápověda menu

Návod na nastavení měřícího kódu pro Seznam.cz v Shopify

Tento postup Vám umožní nasadit oficiální konverzní a retargetingový kód od Seznamu do Vašeho obchodu na platformě Shopify.

Postup:

  1. Přihlaste se do svého Shopify e-shopu.
  2. V levém menu klikněte na Nastavení (Settings).
  3. Zvolte možnost Události zákazníka (Customer Events).
  4. Přejděte na kartu Pixely (Pixels).
  5. Klikněte na Přidat vlastní pixel (Add custom pixel).
  6. Zadejte unikátní název pixelu
  7. Do textového pole vložte kód níže v nápovědě:
  8. Hodnotu CONV_ID v horní části kódu nahraďte Vaším Sklik ID, které získáte v administraci vašeho Sklik účtu v sekci měření konverzí.
  9. Hodnotu ZBOZI_ID v horní části kódu nahraďte ID Vaší provozovny Zboží.cz. ID získáte v Centru prodejce (dříve Administrace Zboží.cz), konkrétně v detailu Vašeho e-shopu.
  10. Hodnotu RTG_ID v horní části kódu nahraďte Vaším RTG ID, které najdete v administraci vašeho Sklik účtu, v sekci Nástroje → Retargeting → zobrazit retargetingový kód.
  11. Hodnotu DRTG v horní části kódu nastavte na true, pokud chcete aktivovat dynamický retargeting
  12. Klikněte na tlačítko Uložit (Save) v pravém horním rohu obrazovky.
  13. Klikněte na tlačítko Připojit (Connect) v pravém horním rohu obrazovky.

Konverzní kód:

/*************************************
 * USER CONFIG — EDIT ONLY THIS PART *
 *************************************/
const CONV_ID = null;       // Your conversion ID
const ZBOZI_ID = null;      // Your Zbozi ID
const RTG_ID = null;        // Your retargeting ID
const DRTG = false;         // Enable dynamic retargeting (true/false)


/********************************
 * DO NOT CHANGE ANYTHING BELOW *
 ********************************/

if (!window._rcLoading) {
    window._rcLoading = true;
    const s = document.createElement("script");
    s.src = "https://c.seznam.cz/js/rc.js";
    s.onload = function() {
        window.dispatchEvent(new CustomEvent("szn-rc-loaded"));
    };
    document.head.appendChild(s);
}

const sendConversion = (conversionConf) => {
    if (window.rc && window.rc.conversionHit) {
        window.rc.conversionHit(conversionConf);
    } else {
        window.addEventListener("szn-rc-loaded", () => {
            window.rc.conversionHit(conversionConf);
        });
    }
};

const sendRetargeting = (retargetingConf) => {
    updateIS({
        eid: init.data.customer?.email,
        tid: init.data.customer?.phone
    });

    if (window.rc && window.rc.retargetingHit) {
        window.rc.retargetingHit(retargetingConf);
    } else {
        window.addEventListener("szn-rc-loaded", () => {
            window.rc.retargetingHit(retargetingConf);
        });
    }
};

const hasConsent = () => init.customerPrivacy.saleOfDataAllowed;

const getConsent = () => {
    const consentResult = init.customerPrivacy.saleOfDataAllowed;
    if (consentResult === true) {
        return 1;
    }
    if (consentResult === false) {
        return 0;
    }
    return -1;
};

const updateIS = (data) => {
  if (window.sznIVA && window.sznIVA.IS) {
      if (getConsent()) {
          if (data.eid) {
              window.sznIVA.IS.updateIdentities({
                  eid: data.eid,
              });
          }
          if (data.tid) {
              window.sznIVA.IS.updateIdentities({
                  tid: data.tid,
              });
          }
      } else {
          window.sznIVA.IS.clearIdentities(["tid", "eid"]);
      }
  }
}

let pageType = "unknown";

analytics.subscribe("checkout_completed", (event) => {
    if (!event.data) {
        return;
    }
    updateIS({
        eid: event.data.checkout.email,
        tid: event.data.checkout.phone
    });
    const conversionConf = {
        id: CONV_ID,
        value: event.data.checkout.totalPrice.amount,
        orderId: event.data.checkout.order.id,
        zboziId: ZBOZI_ID,
        zboziType: "limited",
        consent: getConsent(),
    };
    sendConversion(conversionConf);
});

analytics.subscribe("page_viewed", (event) => {
    setTimeout(() => {
        if (pageType === "unknown") {
            pageType = "page";
            const retargetingConf = {
                rtgId: RTG_ID,
                rtgUrl: event.context.window.location.href,
                consent: getConsent(),
            };
            sendRetargeting(retargetingConf);
        }
    }, 500)
});

analytics.subscribe("collection_viewed", (event) => {
    if (!DRTG) {
        return;  
    }

    pageType = "category";
    const retargetingConf = {
        rtgId: RTG_ID,
        category: event.data.collection.title,
        pageType,
        rtgUrl: event.context.window.location.href,
        consent: getConsent(),
    };
    sendRetargeting(retargetingConf);
});

analytics.subscribe("product_viewed", (event) => {
    if (!DRTG) {
        return;  
    }
  
    pageType = "offerdetail";
    const retargetingConf = {
        rtgId: RTG_ID,
        itemId: `${event.data.productVariant.id}`,
        pageType,
        rtgUrl: event.context.window.location.href,
        consent: getConsent(),
    };
    sendRetargeting(retargetingConf);
});

Nezapomeňte nahradit __YOUR_CONV_ID__ a __YOUR_ZBOZI_ID__ vlastním ID, viz postup.

V případě dotazů ohledně implementace nebo testování nás neváhejte kontaktovat na e-mailové adrese ecommerce@firma.seznam.cz.

Potřebujete další pomoc?

Pokud si stále nevíte rady, obraťte se na naše specialisty. 95 % vašich dotazů umíme vyřešit do 2 hodin.