Klaviyo connects via a paste-token flow. No OAuth review required.
Connecting
- In Klaviyo: Settings → API Keys → Create Private API Key.
- Name it “Ecom Forward” and give it read-only scope on campaigns, flows, profiles, and metrics.
- Copy the token (starts with
pk_). - In Ecom Forward, open a store and click Connect Klaviyo.
- Paste the key. Save.
- The first sync runs in a few seconds.
Heads up
pk_). Public keys (pk_public_...) are rejected — they can't read historical data.What syncs
- Email campaigns — one row per sent campaign with 30-day metrics (sends, opens, clicks, bounces, revenue).
- SMS campaigns — same, if you use SMS.
- Flows — welcome series, abandoned cart, post-purchase, etc. Rolling 30-day metrics.
- Daily metrics rollup — email revenue, SMS revenue, orders, subscribers — per store per day.
Email / SMS toggles
If your store uses both channels, you'll see them both. If you only use email, turn off the SMS toggle in Store Settings. This hides SMS from charts, tables, and KPI tiles — but doesn't affect sync.
Email revenue and double-counting
Klaviyo attributes revenue to email when an order happens within its attribution window. That revenue is already in Shopify — email didn't generate a separate order. Ecom Forward shows email revenue as a percentage of Shopify revenue, not added to it. This is critical: adding Klaviyo revenue to P&L would double-count.
Sync cadence
Klaviyo syncs nightly at 1:45 AM UTC — 15 minutes after ad sync. Default backfill: 90 days of per-day metrics. Manual refresh via the Refresh button.
FAQs
What if my Klaviyo revenue doesn't match Shopify revenue?
Do I need to pay extra for Klaviyo?