InguzMana

Reconnect Console

Storefront theme

Reconnect theme script

Add this to the Shopify theme layout. It runs on every page, creates a first-party visitor ID, checks Reconnect first, and only loads Sitemana Growth when the visitor remains unknown and crosses the page-view threshold.

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

Customer events

Shopify custom pixel

Use Brand Snippets to copy the ready-to-paste Shopify custom pixel for the selected brand. It sends product, collection, search, cart, add-cart, checkout-started, and checkout-completed events.

const INGZ_ENDPOINT = "https://oneapp.inguzmana.com/api/track";
const INGZ_SHOP = "brand.myshopify.com";
const INGZ_PUBLIC_KEY = "PUBLIC_TRACKING_KEY";

Checkout

Checkout-only tracker

If a brand currently uses a checkout extension script only, copy the ready-to-paste checkout tracker from Brand Snippets. It preserves the legacy Sitemana checkout payload shape while sending to Reconnect.

const INGZ_CHECKOUT_ENDPOINT = "https://oneapp.inguzmana.com/api/track";
const INGZ_CHECKOUT_SHOP = "brand.myshopify.com";
const INGZ_CHECKOUT_PUBLIC_KEY = "PUBLIC_TRACKING_KEY";

Klaviyo

Custom metrics created by delivery

Klaviyo creates custom metrics when the Events API receives the first event. Configure KLAVIYO_PRIVATE_API_KEY and KLAVIYO_RETENTION_LIST_ID to move from dry-run to live delivery.

IGZ Active on Site
IGZ Viewed Product
IGZ Viewed Collection
IGZ Viewed Search Result
IGZ Cart View
IGZ Added to Cart
IGZ Checkout Started
IGZ Checkout Completed

Sitemana raw data

Raw edge ingest

Import raw identity edges instead of querying Sitemana on every old-user visit. Once an edge is in our graph, the next return visit can trigger Reconnect immediately.

curl -X POST https://oneapp.inguzmana.com/api/ingest/sitemana \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SITEMANA_RAW_INGEST_TOKEN" \
  -d '{
    "shop": "brand.myshopify.com",
    "records": [{
      "fid_hash": "sha256_of_manafid2",
      "mid_hash": "sha256_of_sitemana_mid",
      "email_sha256": "lowercase_trimmed_email_sha256",
      "klaviyo_profile_id": "01H...",
      "provider": "sitemana",
      "confidence": 0.82,
      "allowed_use": ["retention", "ads"]
    }]
  }'

Growth reporting

Sitemana audience ledger ingest

Import daily Growth identified/provided records from Sitemana so the dashboard can report Growth and Reconnect using the same unique-email ledger.

curl -X POST https://oneapp.inguzmana.com/api/ingest/audience \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AUDIENCE_INGEST_TOKEN" \
  -d '{
    "shop": "brand.myshopify.com",
    "records": [{
      "lane": "growth",
      "stage": "identified",
      "email_sha256": "lowercase_trimmed_email_sha256",
      "klaviyo_profile_id": "01H...",
      "provider": "sitemana",
      "identified_at": "2026-06-10T00:00:00.000Z",
      "provided_at": "2026-06-10T00:03:00.000Z",
      "status": "sent"
    }]
  }'

Growth script

Shared Sitemana script URL

The Growth script URL is currently shared. Sitemana differentiates brands by the domain configured in its backend, so each brand only needs its own shop/domain and Klaviyo configuration here.

SITEMANA_GROWTH_SCRIPT_URL=https://jsma.s3.us-west-2.amazonaws.com/3DcVjZg/ma.js?tag=visitor

Storage

Vercel Postgres deploy

Use managed Postgres for the first Vercel deployment. Keep file storage for local preview only, and use SQLite only for a single long-lived server or container with persistent disk.

STORAGE_DRIVER=postgres
DATABASE_URL=postgresql://user:password@host:5432/reconnect?sslmode=require
POSTGRES_SSL=require

Profile graph

Shopify/Klaviyo profile ingest

Import existing customer/profile hashes before launch. This lets a Sitemana raw edge that only contains email_sha256 join back to a real Klaviyo profile for Reconnect delivery.

curl -X POST https://oneapp.inguzmana.com/api/ingest/profiles \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $PROFILE_INGEST_TOKEN" \
  -d '{
    "shop": "brand.myshopify.com",
    "records": [{
      "email_sha256": "lowercase_trimmed_email_sha256",
      "klaviyo_profile_id": "01H...",
      "shopify_customer_id": "gid://shopify/Customer/123",
      "source": "klaviyo",
      "allowed_use": ["retention", "ads"]
    }]
  }'

Brand config

Per-domain Klaviyo settings

Keep Klaviyo API keys in environment variables and set list IDs per brand domain. The dashboard creates a stable public tracking key when this field is left blank.

{
  "brands": [{
    "shop": "brand.myshopify.com",
    "publicKey": "PUBLIC_TRACKING_KEY",
    "sitemanaDomain": "brand.com",
    "klaviyoPrivateApiKeyEnv": "KLAVIYO_PRIVATE_API_KEY_BRAND",
    "klaviyoRetentionListId": "RETENTION_LIST_ID",
    "klaviyoGrowthListId": "GROWTH_LIST_ID"
  }]
}

Access

Dashboard protection

Configure a dashboard password before production. Local development remains open when no password is set.

DASHBOARD_PASSWORD=
DASHBOARD_SESSION_TOKEN=