Wizel reads your Klaviyo data to build reports, plan campaigns, and generate on-brand emails — and it can push campaigns, flows, segments and templates back to Klaviyo for you. Before any of that works, you connect the two accounts once. There are two ways to do it: OAuth (recommended) or a private API key. This guide walks both, with screenshots.
Use OAuth unless you have a specific reason not to. It's a one-click approval, the access token refreshes itself, and you can revoke it from either Klaviyo or Wizel at any time — there's no key to copy, store, or rotate.
Before you start
- A Wizel account with the store you want to connect already added.
- Access to the Klaviyo account for that store (you'll either approve a permission screen or create an API key).
- Permission to manage integrations on the store in Wizel (owners and admins have this by default).
Open the connection screen in Wizel
From your store in Wizel, open the Klaviyo connection screen. You'll see two tabs: Connect with OAuth and API key. OAuth is selected by default.

Option A — Connect with OAuth (recommended)
On the OAuth tab, click Connect with OAuth. Wizel sends you to Klaviyo's secure authorization page — it never sees your Klaviyo password.

On Klaviyo's page, sign in if you're prompted, review the access Wizel is requesting, and click Allow. If you manage more than one Klaviyo account, pick the right one first.

Klaviyo sends you back to Wizel and the connection flips to Connected. Choose the metrics you want Wizel to track (Placed Order is the important one for revenue; add a refund metric if you have one) and save.

If you clicked Deny by mistake, nothing connects and Wizel shows a short notice. Just click Connect with OAuth again and approve the access to continue.
Option B — Connect with a private API key
Prefer a key, or can't complete the OAuth approval? Switch to the API key tab in Wizel. You'll paste a Klaviyo private API key here in a moment.

In a separate tab, open Klaviyo and go to your account's API keys settings. Create a new private API key and give it the access Wizel needs: read access to campaigns, flows, metrics, profiles and segments at minimum. Private keys start with pk_.

Copy the key, return to Wizel, paste it into the API key field, and confirm. Wizel validates the key against Klaviyo, and once it passes you'll pick your metrics and save — the same final step as OAuth.

Treat a private API key like a password. If it ever leaks, delete it in Klaviyo and create a new one — that instantly cuts off the old key. With OAuth there's no key to leak in the first place.
OAuth vs API key — which should I use?
| OAuth (recommended) | Private API key | |
|---|---|---|
| Setup | One-click approval on Klaviyo | Create a key in Klaviyo, paste it in Wizel |
| Stays connected | Token refreshes automatically | Key works until you delete it |
| Revoke access | From Klaviyo or from Wizel | Delete the key in Klaviyo |
| Secret to manage | None | You hold a pk_ key |
Disconnecting
To disconnect, open the same Klaviyo connection screen in Wizel and choose Disconnect. For OAuth, Wizel also revokes the grant on Klaviyo's side, so access is cut cleanly from both ends. If you remove the app from inside Klaviyo instead, Wizel notices the next time it syncs and prompts you to reconnect.
Troubleshooting
- "Permissions were not granted" — you clicked Deny on Klaviyo's screen. Start the OAuth flow again and click Allow.
- "Invalid API key" — the key must start with pk_ and be a private key with read access to the scopes above. Copy it again, with no extra spaces.
- Data looks empty after connecting — give the first sync a few minutes, then refresh. Large accounts take longer to pull in.
- Can't see the connect button — you may not have permission to manage integrations on that store. Ask the store owner or an admin.
Connect Klaviyo to Wizel
- 1
Open the connection screen
In Wizel, open your store's Klaviyo connection screen. You'll see a Connect with OAuth tab and an API key tab.
- 2
Choose OAuth and authorize
On the OAuth tab, click Connect with OAuth. On Klaviyo's page, sign in if prompted, review the requested access, and click Allow.
- 3
Or paste a private API key
Alternatively, switch to the API key tab, create a private API key in Klaviyo's settings with read access to campaigns, flows, metrics, profiles and segments, then paste the pk_ key into Wizel and confirm.
- 4
Select your metrics
Once connected, choose the metrics Wizel should track — Placed Order for revenue, plus a refund metric if you have one — and save.
Frequently asked
Should I connect Klaviyo with OAuth or an API key?
+
Use OAuth unless you have a reason not to. It's a one-click approval, the access token refreshes automatically, and you can revoke it from either Klaviyo or Wizel. A private API key gives the same access but you have to create, store, and rotate the key yourself. Both end up at the same place in Wizel.
Does Wizel see my Klaviyo password?
+
No. With OAuth you sign in on Klaviyo's own page and approve access there — Wizel only receives a token, never your password. With the API key method you create the key inside Klaviyo and paste only that key into Wizel.
How do I disconnect Klaviyo from Wizel?
+
Open the Klaviyo connection screen in Wizel and choose Disconnect. For OAuth connections Wizel also revokes the grant on Klaviyo's side. If you remove the app from within Klaviyo instead, Wizel detects it on the next sync and asks you to reconnect.
What permissions does Wizel need?
+
Read access to your campaigns, flows, metrics, profiles and segments so it can build reports and plan campaigns, plus write access to create campaigns, flows, segments and templates on your behalf. OAuth requests these for you; for an API key, grant the equivalent read access at minimum.
