Best Practices
Recommended setup
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
Don't use a metric ID that no longer exists. If you delete or change metrics in Klaviyo, your Report data flow will fail with a 404 error. After making changes in Klaviyo, re-open your data flow and reselect your metrics from scratch.
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?
