InguzMana

Reconnect Console

Brands

Configured Shops

ShopSitemana domainPublic keyRetention listGrowth list
igz-booster.myshopify.comshop.inguzmana.comigz_pk_4743b9facba42a551ec6192e6a79102cXnt9gbYAuekU

Settings

Edit Brand

Launch checklist

igz-booster.myshopify.com

Next action: Reconnect theme script was not found on storefront HTML.

GateStatusDetail
Sitemana domainreadySitemana configured domain is configured
Public tracking keyreadypublic tracking key is configured
Growth thresholdreadyGrowth page-view threshold is configured
Klaviyo private API keyreadyKlaviyo private API key is configured
Klaviyo API authenticationreadyLatest Klaviyo preflight passed
Klaviyo retention listreadyKlaviyo retention list ID is configured
Klaviyo growth listreadyKlaviyo growth list ID is configured
Shopify theme scriptblockerReconnect theme script was not found on storefront HTML
Theme event intakereadyTheme script event intake received at 2026-06-12T06:11:21.047Z
Shopify Custom Pixel eventsreadyShopify Custom Pixel event intake received at 2026-06-12T06:11:11.554Z
Checkout Tracker eventsreadyCheckout Tracker event intake received at 2026-06-12T06:11:18.806Z
Reconnect profile graphreadyReconnect profile graph has 36 activatable profile edges
Klaviyo profile syncreadyLatest sync completed: imported 1, skipped 0

Profile graph

Klaviyo Profile Sync

Pull Klaviyo profiles for this brand and seed Reconnect edges from profile ID and normalized email hash. The private API key must be configured in the environment variable named above.

Shopify install

Brand Snippets

Use these values for the selected brand. Keep the same public key in every Shopify snippet.

Shopify Admin token statusMissing in SHOPIFY_ADMIN_TOKEN_IGZBOOSTER.
Automatic theme installRequires a Shopify Custom App Admin API token with read_themes + write_themes.
Manual fallbackPaste the theme script below into theme.liquid, then run Check Theme Install.

Store only the env var name here; put the token in Vercel env.

Theme scriptOnline Store > Themes > Edit code > layout/theme.liquid, before </head>
Custom pixel scriptSettings > Customer events > Custom pixel
Checkout tracker scriptCheckout extension / checkout tracking script

Theme script

<script async src="https://oneapp.inguzmana.com/scripts/reconnect-theme.js?shop=igz-booster.myshopify.com&key=igz_pk_4743b9facba42a551ec6192e6a79102c"></script>

Custom pixel script

/*
 * InguzMana Reconnect Shopify Custom Pixel
 *
 * Replace INGZ_ENDPOINT, INGZ_SHOP, and INGZ_PUBLIC_KEY before pasting into
 * Shopify Admin > Settings > Customer events > Custom pixel.
 */
const INGZ_ENDPOINT = "https://oneapp.inguzmana.com/api/track";
const INGZ_SHOP = "igz-booster.myshopify.com";
const INGZ_PUBLIC_KEY = "igz_pk_4743b9facba42a551ec6192e6a79102c";

async function ingzCookie(name) {
  try {
    if (typeof browser !== "undefined" && browser.cookie && browser.cookie.get) {
      return (await browser.cookie.get(name)) || "";
    }
  } catch (e) {}
  try {
    const value = `; ${document.cookie || ""}`;
    const parts = value.split(`; ${name}=`);
    if (parts.length === 2) return parts.pop().split(";").shift();
  } catch (e) {}
  return "";
}

function ingzMapLineItem(item) {
  return {
    name: item?.title || item?.variant?.title || "",
    price:
      item?.variant?.price?.amount ||
      item?.finalLinePrice?.amount ||
      item?.linePrice?.amount ||
      "",
    productId: item?.variant?.product?.id || item?.variant?.id || item?.id || "",
    categories: item?.variant?.product?.type || "",
    imageUrl: item?.variant?.image?.src || item?.image?.src || "",
    url: item?.variant?.product?.url || "",
    brand: item?.variant?.product?.vendor || "",
    quantity: item?.quantity || 1
  };
}

function ingzFirstString() {
  for (const value of arguments) {
    if (typeof value === "string" && value.trim()) return value;
  }
  return "";
}

function ingzCustomerIdentity(event) {
  const checkout = event.data?.checkout;
  const customer =
    event.data?.customer ||
    checkout?.customer ||
    (typeof init !== "undefined" ? init?.data?.customer : undefined);
  const id = ingzFirstString(customer?.id, customer?.customerId, checkout?.customer?.id);
  const email = ingzFirstString(customer?.email, checkout?.email);
  const phone = ingzFirstString(customer?.phone, customer?.phoneNumber, checkout?.phone);
  return {
    shopifyCustomerId: id,
    email,
    customer: id || email || phone
      ? {
          id: id || undefined,
          email: email || undefined,
          phone: phone || undefined
        }
      : undefined
  };
}

function ingzEventPayload(event) {
  const location = event.context?.document?.location;
  const checkout = event.data?.checkout;
  const cartLine = event.data?.cartLine;
  const productVariant = event.data?.productVariant;
  const collection = event.data?.collection;
  const searchResult = event.data?.searchResult;

  const checkoutItems = (checkout?.lineItems || []).map(ingzMapLineItem);
  return {
    shop: INGZ_SHOP || location?.hostname || location?.host,
    eventId: event.id,
    timestamp: event.timestamp,
    url: location?.href,
    path: location?.pathname,
    search: location?.search,
    items: checkoutItems.length ? checkoutItems : undefined,
    checkout: checkout
      ? {
          token: checkout?.token,
          email: checkout?.email,
          value: checkout?.totalPrice?.amount,
          currency: checkout?.currencyCode,
          items: checkoutItems
        }
      : undefined,
    product: productVariant
      ? {
          id: productVariant?.product?.id,
          variantId: productVariant?.id,
          title: productVariant?.product?.title || productVariant?.title,
          sku: productVariant?.sku,
          price: productVariant?.price?.amount,
          currency: productVariant?.price?.currencyCode,
          vendor: productVariant?.product?.vendor,
          type: productVariant?.product?.type,
          url: productVariant?.product?.url,
          imageUrl: productVariant?.image?.src
        }
      : undefined,
    collection: collection
      ? {
          id: collection?.id,
          title: collection?.title,
          handle: collection?.handle
        }
      : undefined,
    search: searchResult
      ? {
          query: searchResult?.query,
          productVariants: searchResult?.productVariants?.length
        }
      : undefined,
    cartLine: cartLine ? ingzMapLineItem(cartLine) : undefined
  };
}

async function ingzSend(eventName, event) {
  try {
    const location = event.context?.document?.location;
    const checkout = event.data?.checkout;
    const identity = ingzCustomerIdentity(event);
    const visitorId = (await ingzCookie("_igz_vid")) || event.clientId || "";
    const sitemanaFid = await ingzCookie("manafid2");
    await fetch(INGZ_ENDPOINT, {
      method: "POST",
      keepalive: true,
      headers: {
        "Content-Type": "application/json",
        "X-Inguz-Public-Key": INGZ_PUBLIC_KEY
      },
      body: JSON.stringify({
        shop: INGZ_SHOP || location?.hostname || location?.host,
        publicKey: INGZ_PUBLIC_KEY,
        eventName,
        source: eventName === "checkout_started" ? "checkout_pixel" : "shopify_pixel",
        visitorId,
        sitemanaFid,
        shopifyCustomerId: identity.shopifyCustomerId || undefined,
        checkoutToken: checkout?.token,
        email: identity.email || checkout?.email,
        url: location?.href,
        occurredAt: event.timestamp || new Date().toISOString(),
        payload: {
          ...ingzEventPayload(event),
          customer: identity.customer,
          fid: sitemanaFid,
          shopifyClientId: event.clientId,
          visitorIdSource: visitorId === event.clientId ? "shopify_client_id" : "inguz_cookie"
        }
      })
    });
  } catch (e) {
    console.log("inguzmana reconnect pixel error", e);
  }
}

[
  "page_viewed",
  "product_viewed",
  "collection_viewed",
  "search_submitted",
  "cart_viewed",
  "product_added_to_cart",
  "checkout_started",
  "checkout_completed"
].forEach((eventName) => {
  analytics.subscribe(eventName, (event) => ingzSend(eventName, event));
});

Custom pixel constants

const INGZ_ENDPOINT = "https://oneapp.inguzmana.com/api/track";
const INGZ_SHOP = "igz-booster.myshopify.com";
const INGZ_PUBLIC_KEY = "igz_pk_4743b9facba42a551ec6192e6a79102c";

Checkout tracker script

/*
 * InguzMana Reconnect Shopify Checkout Tracking
 *
 * Paste into Shopify Customer Events / checkout extension contexts when a
 * lightweight checkout_started tracker is preferred over the full custom pixel.
 */
const INGZ_CHECKOUT_ENDPOINT = "https://oneapp.inguzmana.com/api/track";
const INGZ_CHECKOUT_SHOP = "igz-booster.myshopify.com";
const INGZ_CHECKOUT_PUBLIC_KEY = "igz_pk_4743b9facba42a551ec6192e6a79102c";

function ingzCheckoutCookie(name) {
  try {
    const value = `; ${document.cookie || ""}`;
    const parts = value.split(`; ${name}=`);
    if (parts.length === 2) return parts.pop().split(";").shift();
  } catch (e) {}
  return "";
}

function ingzCheckoutMapItems(checkout) {
  return (checkout?.lineItems || []).map((item) => ({
    name: item?.title || item?.variant?.title || "",
    price: item?.variant?.price?.amount || item?.finalLinePrice?.amount || item?.linePrice?.amount || "",
    productId: item?.variant?.product?.id || item?.variant?.id || item?.id || "",
    categories: item?.variant?.product?.type || "",
    imageUrl: item?.variant?.image?.src || item?.image?.src || "",
    url: item?.variant?.product?.url || "",
    brand: item?.variant?.product?.vendor || "",
    quantity: item?.quantity || 1
  }));
}

analytics.subscribe("checkout_started", (event) => {
  try {
    const location = event.context?.document?.location;
    const checkout = event.data?.checkout;
    const fid = ingzCheckoutCookie("manafid2");
    const items = ingzCheckoutMapItems(checkout);

    fetch(INGZ_CHECKOUT_ENDPOINT, {
      method: "POST",
      keepalive: true,
      headers: {
        "Content-Type": "application/json",
        "X-Inguz-Public-Key": INGZ_CHECKOUT_PUBLIC_KEY
      },
      body: JSON.stringify({
        shop: INGZ_CHECKOUT_SHOP || location?.hostname || location?.host,
        publicKey: INGZ_CHECKOUT_PUBLIC_KEY,
        eventName: "checkout_started",
        source: "checkout_pixel",
        visitorId: event.clientId || "",
        sitemanaFid: fid,
        checkoutToken: checkout?.token,
        email: checkout?.email,
        url: location?.href,
        occurredAt: event.timestamp || new Date().toISOString(),
        payload: {
          event: "checkout_started",
          eventId: event.id,
          timestamp: event.timestamp,
          shop: INGZ_CHECKOUT_SHOP || location?.hostname || location?.host,
          fid,
          items,
          checkout: {
            token: checkout?.token,
            email: checkout?.email,
            value: checkout?.totalPrice?.amount,
            currency: checkout?.currencyCode,
            items
          },
          shopifyClientId: event.clientId,
          visitorIdSource: "shopify_client_id"
        }
      })
    });
  } catch (e) {
    console.log("inguzmana checkout_started error", e);
  }
});

Checkout tracker constants

const INGZ_CHECKOUT_ENDPOINT = "https://oneapp.inguzmana.com/api/track";
const INGZ_CHECKOUT_SHOP = "igz-booster.myshopify.com";
const INGZ_CHECKOUT_PUBLIC_KEY = "igz_pk_4743b9facba42a551ec6192e6a79102c";

History

Recent Shopify Theme Installs

No Shopify theme install attempts yet.

Recent Shopify Install Checks

StartedStatusStorefrontChecksReason
6/12/2026, 5:23:54 AMfailedhttps://shop.inguzmana.com/Shopify storefront: ready; Reconnect theme script: blocker; Shop parameter: blocker; Public tracking key: blockerReconnect theme script was not found on storefront HTML; Theme script is missing the selected shop parameter; Theme script is missing the selected public tracking key
6/12/2026, 5:23:51 AMfailedhttps://shop.inguzmana.com/Shopify storefront: ready; Reconnect theme script: blocker; Shop parameter: blocker; Public tracking key: blockerReconnect theme script was not found on storefront HTML; Theme script is missing the selected shop parameter; Theme script is missing the selected public tracking key
6/12/2026, 5:23:49 AMfailedhttps://shop.inguzmana.com/Shopify storefront: ready; Reconnect theme script: blocker; Shop parameter: blocker; Public tracking key: blockerReconnect theme script was not found on storefront HTML; Theme script is missing the selected shop parameter; Theme script is missing the selected public tracking key
6/12/2026, 5:23:46 AMfailedhttps://shop.inguzmana.com/Shopify storefront: ready; Reconnect theme script: blocker; Shop parameter: blocker; Public tracking key: blockerReconnect theme script was not found on storefront HTML; Theme script is missing the selected shop parameter; Theme script is missing the selected public tracking key
6/12/2026, 5:23:43 AMfailedhttps://shop.inguzmana.com/Shopify storefront: ready; Reconnect theme script: blocker; Shop parameter: blocker; Public tracking key: blockerReconnect theme script was not found on storefront HTML; Theme script is missing the selected shop parameter; Theme script is missing the selected public tracking key

Recent Klaviyo Preflights

StartedStatusChecksReason
6/12/2026, 6:11:05 AMpassedKlaviyo private API key: ready; Klaviyo Profiles API: ready; Klaviyo retention list: ready; Klaviyo growth list: ready-
6/12/2026, 5:44:40 AMpassedKlaviyo private API key: ready; Klaviyo Profiles API: ready; Klaviyo retention list: ready; Klaviyo growth list: ready-
6/12/2026, 5:33:12 AMpassedKlaviyo private API key: ready; Klaviyo Profiles API: ready; Klaviyo retention list: ready; Klaviyo growth list: ready-
6/12/2026, 5:25:11 AMpassedKlaviyo private API key: ready; Klaviyo Profiles API: ready; Klaviyo retention list: ready; Klaviyo growth list: ready-
6/12/2026, 5:10:16 AMpassedKlaviyo private API key: ready; Klaviyo Profiles API: ready; Klaviyo retention list: ready; Klaviyo growth list: ready-

Recent Klaviyo Syncs

StartedStatusImportedSkippedPagesReason
6/12/2026, 5:03:55 AMcompleted101-
6/12/2026, 3:40:25 AMfailed000Klaviyo returned 401: {"errors":[{"status":401,"id":"b54151b1-4c19-4002-8b40-0f9219874e39","title":"Incorrect authentication credentials.","code":"authentication_failed","source":{"pointer":"/data/"},"detail":"Incorrect authentication credentials."}]}
6/12/2026, 3:40:22 AMfailed000Klaviyo returned 401: {"errors":[{"detail":"Incorrect authentication credentials.","id":"32e4d503-d210-4d5e-9f15-dd385912273f","title":"Incorrect authentication credentials.","code":"authentication_failed","source":{"pointer":"/data/"},"status":401}]}
6/12/2026, 3:40:20 AMfailed000Klaviyo returned 401: {"errors":[{"id":"21569394-7c99-4427-b8d7-0c231438cc36","source":{"pointer":"/data/"},"code":"authentication_failed","status":401,"detail":"Incorrect authentication credentials.","title":"Incorrect authentication credentials."}]}
6/12/2026, 3:40:17 AMfailed000Klaviyo returned 401: {"errors":[{"code":"authentication_failed","id":"9ddcf325-9334-42e0-a528-497cfa9db619","detail":"Incorrect authentication credentials.","status":401,"title":"Incorrect authentication credentials.","source":{"pointer":"/data/"}}]}
6/12/2026, 3:40:15 AMfailed000Klaviyo returned 401: {"errors":[{"title":"Incorrect authentication credentials.","detail":"Incorrect authentication credentials.","id":"81203825-44a1-4f22-a78a-75eafbdeafb6","status":401,"code":"authentication_failed","source":{"pointer":"/data/"}}]}
6/12/2026, 3:40:12 AMfailed000Klaviyo returned 401: {"errors":[{"id":"6406e316-3a77-4bfa-b3bc-42240eed4806","code":"authentication_failed","detail":"Incorrect authentication credentials.","source":{"pointer":"/data/"},"status":401,"title":"Incorrect authentication credentials."}]}
6/12/2026, 3:40:09 AMfailed000Klaviyo returned 401: {"errors":[{"code":"authentication_failed","status":401,"id":"6a263986-81c8-4208-a930-795f809e9917","detail":"Incorrect authentication credentials.","source":{"pointer":"/data/"},"title":"Incorrect authentication credentials."}]}