For the complete documentation index, see llms.txt. This page is also available as Markdown.

Common Issues

Connection issues

API key is rejected or returns a permission error

There are two common causes:

Wrong key type — Klaviyo's Public API key is designed for client-side event tracking only and has no read access to account data. Make sure you're using a Private API key. In Klaviyo, go to Settings → API Keys and create a new Private key.

Missing scope permissions — Private API keys in Klaviyo have granular read/write permissions per resource. If the key exists but a specific entity fails, check that read access is enabled for the resources you need (Campaigns, Profiles, Metrics, Flows, Segments, Forms). You can review and update permissions on the key's settings page in Klaviyo.

Data discrepancies

Metrics analytics numbers don't match what I see in Klaviyo's Reports

This is expected. Metrics analytics uses Klaviyo's metric aggregates API, which processes raw event counts differently from Klaviyo's own reporting engine. Klaviyo's documentation explicitly notes that metric aggregates are not designed to match the UI. If you need numbers that align with what Klaviyo shows in its Reports section, use the Campaign performance report, Flow performance report, Segment performance report, or Forms performance report entities instead — those use the Klaviyo Reporting API and return the same data as the UI.

Missing data

Placed orders or revenue columns are empty

Revenue and order metrics are only populated when Klaviyo has attributed those events to a message. If your Klaviyo account hasn't tracked placed order events — or if the attribution window hasn't closed yet — these columns will be blank. Confirm that your Klaviyo account has the Placed Order metric configured and that the integration with your store (e.g., Shopify) is active.

Last updated

Was this helpful?