Best Practices

Use the Report entity for performance metrics

The Campaigns list entity shows campaign metadata (status, channel, send time) but not performance numbers. If you need opens, clicks, or revenue, use the Report entity and select the metrics you want explicitly.

Filter profiles before exporting

Exporting your full Profiles list for large accounts causes frequent timeouts. Use the Advanced filters option to export only the segment you need — for example, active subscribers or a specific list.

Join Klaviyo and Shopify data for revenue accuracy

Klaviyo's attributed revenue follows its own attribution window, which may not match your Shopify totals. Use Coupler.io's Join transformation to cross-reference Klaviyo revenue with Shopify order data for a cleaner picture.

Use Append to combine multiple accounts

If you manage Klaviyo for multiple brands or clients, create a separate data flow per account and use the Append transformation to merge them into one destination table.

Data refresh and scheduling

Always do a successful manual run first

Before scheduling, run the data flow manually and verify the data in your destination. This confirms your API key, entity, and date range are all set correctly — and is required before scheduling is available.

Keep Report date ranges under one year

The Klaviyo API enforces a 1-year maximum on Report requests. For long-term trend data, use multiple data flows (one per year) and combine them with Append, rather than trying to fit everything into one run.

Performance optimization

Reduce dimensions to speed up Report queries

Each additional dimension increases response size and processing time. Only include dimensions you'll actually use in your report. If you're timing out, remove low-value dimensions like URL or Email domain first.

Use Split data by period for trend analysis

Instead of exporting a flat aggregate for the whole date range, use the Split data by period option (Day, Week, Month) to get time-series data directly from the API — this is more reliable than trying to group it yourself downstream.

Common pitfalls

triangle-exclamation

Do

  • Use Advanced filters on Profiles to limit export size

  • Re-select metrics after making changes in your Klaviyo account

  • Use the Split by period option for time-series data

  • Verify revenue metrics against your e-commerce platform's attribution settings

Don't

  • Export the full Profiles list for large accounts without filtering

  • Set a Report date range longer than 12 months in a single data flow

  • Assume Klaviyo's attributed revenue matches your store's reported revenue without checking attribution windows

  • Use a Public API key — it will always fail

Last updated

Was this helpful?