Connect Klaviyo - Email and SMS Marketing Analytics
Connect Klaviyo to MerchantFlow to bring email and SMS campaign performance, flow revenue, and conversion attribution into your profitability dashboard.
Connect Klaviyo to MerchantFlow
The Klaviyo integration brings email and SMS marketing performance into MerchantFlow, including campaign-level attributed revenue, flow performance, and a per-channel slice in your ads and dashboard overview. Klaviyo is an owned-audience channel, which is treated differently from paid platforms like Meta or Google Ads.
What Is the Klaviyo Integration?
Klaviyo is an email and SMS marketing platform. MerchantFlow connects to your Klaviyo account via OAuth and pulls:
- Campaign performance - last 30 days of campaigns ranked by attributed revenue
- Daily channel revenue - email and SMS conversion value, aggregated daily for the dashboard
- Conversion metric discovery - the metric ID used to attribute orders to Klaviyo sends (typically "Placed Order")
Campaign-level reporting is the whole of the current sync. Flow-level reporting is not pulled yet -- see Flow Revenue below.
Because Klaviyo is a flat-fee subscription (not per-send paid media), the integration sets spend = 0 on every row. You can model your Klaviyo subscription separately as a recurring OPEX entry on the Expenses ledger.
How to Connect Klaviyo
Open Settings > Integrations and click Connect Klaviyo on the Klaviyo card.
You will be redirected to Klaviyo to approve the connection. MerchantFlow uses OAuth 2.0 with PKCE so no API keys leave your Klaviyo account.
Permissions Requested
MerchantFlow requests the following Klaviyo scopes:
accounts:read- account currency and metadatacampaigns:read- campaign send history and statisticsflows:read- flow performance (requested now, not yet used - see Flow Revenue)metrics:read- find the "Placed Order" conversion metricevents:read- read order events for attributionlists:readandsegments:read- list and segment metadataprofiles:read- profile counts
All scopes are read-only. MerchantFlow does not write campaigns, segments, or profiles to Klaviyo. Some scopes are requested ahead of the features that will use them so that adding those features does not force every merchant through a re-consent.
Email Verification and 2FA
For security, you must have verified your MerchantFlow email and (when applicable) completed two-factor authentication before connecting any integration. The connect button surfaces a clear prompt if either is missing.
What Data Does MerchantFlow Sync from Klaviyo?
Campaign Performance
Each campaign that sent in the last 30 days appears in the Live Campaigns table on Marketing > Channels, ranked by attributed revenue. Each row shows:
- Campaign name
- Send date
- Recipients (where available)
- Attributed revenue
- Spend (always 0 - explained above)
Daily Channel Revenue
Klaviyo's attributed revenue feeds the channel slice on the Dashboard overview and the Klaviyo rows on Marketing > Channels.
It does not feed Unit Economics > CAC by Channel. That table divides ad spend by newly acquired customers, so it is built from spend rather than revenue -- see How CAC Treats Klaviyo below.
Flow Revenue
Not yet available. MerchantFlow requests the flows:read scope during OAuth so that flow reporting can be added without a re-consent, but the current sync only pulls campaign-level reports. Revenue from automated flows -- welcome series, abandoned cart, browse abandonment, post-purchase -- does not appear in the campaign table or the daily channel series today. Track flow performance in Klaviyo's own reporting until this ships.
Conversion Metric Selection
MerchantFlow needs a conversion metric to attribute Klaviyo revenue. During the OAuth callback, MerchantFlow looks up the "Placed Order" metric in your Klaviyo account and stores its ID. If "Placed Order" is missing or your store uses a different conversion event, the dashboard renders honest empty states rather than fabricating numbers; reconnect Klaviyo or contact support to select a different metric.
How CAC Treats Klaviyo
Because Klaviyo has no per-send spend, it contributes nothing to CAC. Every Klaviyo row carries spend 0, so where Klaviyo appears in the Unit Economics CAC by Channel table it shows $0 spend and $0 CAC and sorts to the bottom -- it never moves your blended number. The meaningful CAC figures come from the paid channels (Google, Meta, TikTok, Snapchat); Klaviyo is surfaced separately as attributed revenue.
If you want Klaviyo's subscription cost reflected in margin, add it as a recurring expense in Profit > Expenses with a monthly cadence.
API Revision Pinning
MerchantFlow pins to the Klaviyo API revision 2026-04-15 for stability. We update the revision once a year after testing the reporting endpoints, so the dashboard will not silently break if Klaviyo introduces a breaking change.
How to Disconnect Klaviyo
Open Settings > Integrations and click the red shield button beside Reconnect on the Klaviyo card. MerchantFlow deletes the stored OAuth tokens and stops syncing immediately. The grant is not revoked on Klaviyo's side, so remove the MerchantFlow app in Klaviyo too if you want it gone from there. Existing historical data is retained for the data retention period tied to your plan.
Frequently Asked Questions
Why does Klaviyo show $0 spend on every row?
Klaviyo is an owned-audience channel charged via a flat monthly subscription rather than per-send media buy. Showing $0 spend on each campaign accurately reflects the variable cost of an additional send. To model the subscription cost, add it as a recurring expense in Expenses.
Why is Klaviyo revenue different from what I see in Klaviyo's reports?
MerchantFlow uses your configured Klaviyo conversion metric (typically "Placed Order") and pulls the conversion_value statistic. Differences usually trace to attribution-window settings in Klaviyo, or to orders that arrived after the report was generated. MerchantFlow refreshes Klaviyo data on the shared 30-minute delta sync.
Does the integration include Klaviyo SMS?
Yes. SMS campaigns appear in the campaign table the same way as email campaigns and contribute to the daily channel revenue series.
Can I connect more than one Klaviyo account?
One Klaviyo account per MerchantFlow tenant. If you operate multiple brands in different Klaviyo accounts, connect each Klaviyo account to its own MerchantFlow workspace.
Does Klaviyo appear in attribution reports?
Not as its own channel. Attribution groups orders by the UTM source and medium your store recorded at checkout, and it has no Klaviyo-specific rule. A Klaviyo link tagged the standard way -- utm_source=klaviyo&utm_medium=email -- is grouped under Email, because the grouping keys off the email medium rather than the source name. A Klaviyo link tagged with some other medium falls into Other.
The raw klaviyo source value is preserved on the order either way, so you can still recognise Klaviyo traffic in source-level views. But do not expect a "Klaviyo" line in the channel-group breakdown, and do not expect Attribution's Email total to reconcile with the Klaviyo revenue on Ads and Channels -- Attribution reads UTMs on your orders, while the Klaviyo figures come from Klaviyo's own conversion metric.
Troubleshooting
- OAuth fails with "Klaviyo OAuth is not configured" - the workspace administrator needs to set the Klaviyo client ID and secret in the environment. See troubleshooting integrations.
- No campaign data after connecting - check that your Klaviyo account has campaigns sent in the last 30 days, and that the "Placed Order" metric exists. The provider returns an empty array (not an error) when the conversion metric is missing, so the dashboard will show an empty state.
- Two-factor required - if your account has two-factor authentication enforced and you have not completed it for the current session, the connect button will block. Complete 2FA in Settings > Security first.
Related Guides
- Ads and Channels - where Klaviyo campaigns appear
- Unit Economics - true CAC across paid channels
- Attribution - how MerchantFlow assigns revenue to channels
- Expenses - model the Klaviyo subscription as a recurring OPEX entry
- Meta Ads - the paid-social counterpart
- Troubleshooting Integrations - connection issues
Last updated: August 29, 2026
Last updated on
Connect TikTok Ads — MerchantFlow
How to connect TikTok Ads to MerchantFlow for campaign spend tracking, performance analytics, and ROAS reporting in your e-commerce dashboard.
Connect Speedfulfill 3PL — MerchantFlow
How to connect Speedfulfill to MerchantFlow for warehouse fulfillment data, shipping costs, and tracking numbers in your profitability reports.