1.Installation guide 5 min read
What this integration does
Boardroom syncs your Klaviyo email and SMS marketing data into a unified e-commerce dashboard. You see campaign performance, automation (flow) revenue, subscriber growth, and revenue attribution next to your store, ad-account, and accounting data — without flipping between tools.
The integration is read-only. Boardroom never creates, modifies, sends, or deletes anything in your Klaviyo account. Authorization uses OAuth 2.0 with PKCE, and access tokens are encrypted at rest.
Before you start
- A Boardroom account with at least one Brand created. Brands are how Boardroom groups stores and integrations together. If you haven't created one yet, head to Stores in the left sidebar and add your first store — a Brand is created automatically.
- A Klaviyo account with admin or owner permissions so you can authorize a third-party app.
Installation steps
- Sign in to Boardroom at app.ecommboardroom.com.
- In the sidebar click Settings → My Data Sources.
- Switch to the Email / SMS tab.
- Click + Connect Email / SMS.
- In the modal pick Klaviyo, choose the Brand to link it to, and click Next.
- You'll be redirected to Klaviyo's authorization page. If you're already signed in to Klaviyo it goes straight to the consent screen; otherwise sign in to Klaviyo first.
- Review the requested read-only permissions and click Allow.
- Klaviyo sends you back to Boardroom. The integration card appears on the Email / SMS tab with status Syncing.
- The initial historical backfill (last 24 months of campaigns, flows, and subscriber counts) runs in the background and takes 5 – 30 minutes depending on account size. You can leave the page. Status flips to Connected when it's done. A confirmation email arrives at the same time.
Already-installed customers: where to find the integration
- Status, last-sync timestamp, and a manual sync button live on Settings → My Data Sources → Email / SMS.
- Campaign and flow analytics are on Analytics → Email / SMS in the sidebar.
Disconnecting
On the Email / SMS tab open the integration card menu and pick Disconnect Klaviyo. Boardroom tears down the webhook subscription on Klaviyo's side (when permissions allow), revokes the refresh token, and removes all locally cached data within a minute.
Need help?
Reach support at contact@ecommboardroom.com. The same inbox monitors replies to our sync-completion emails.
2.Data reference
This section lists every piece of data Boardroom reads from your Klaviyo account, where it comes from, and where it shows up in the dashboard. The integration is read-only — nothing flows back into Klaviyo.
Direction of sync
| Direction | What flows |
|---|---|
| Klaviyo → Boardroom | Campaigns, flows, per-campaign reports, list and segment counts, system webhook events (when available on your plan) |
| Boardroom → Klaviyo | Nothing. |
Endpoints called
Boardroom uses the Klaviyo Marketing API (revision 2026-04-15). Every call sends
Authorization: Bearer <oauth_access_token> and is rate-limited per Klaviyo's published bucket schedule.
| Klaviyo endpoint | Frequency | Purpose |
|---|---|---|
GET /api/accounts | Once on connect | Bind integration to a Klaviyo account ID and organization name |
GET /api/campaigns?filter=equals(messages.channel,'email|sms') | Every 6 h + manual | List campaigns sent in window |
GET /api/flows | Every 6 h + manual | List automation (flow) definitions |
POST /api/campaign-values-reports | Every 6 h | Aggregate stats (delivered, opens, clicks, unsubscribes, bounces, spam, revenue) per campaign |
POST /api/flow-values-reports | Every 6 h | Same metrics, per flow |
GET /api/metrics?filter=equals(name,'Placed Order') | Once daily | Resolve the conversion metric for values reports (cached 24 h) |
GET /api/profiles?page[size]=100 | Every 6 h | Total profile count for the Subscribers KPI |
GET /api/lists | Every 6 h | List metadata for analytics breakdown |
POST /api/webhooks | Once on connect | Subscribe to real-time events (Advanced KDP plan or App Partner only) |
DELETE /api/webhooks/{id} | On disconnect | Tear down webhook subscription |
Fields stored locally
Boardroom keeps the minimum data needed to render dashboards — no profile-level personal information beyond email addresses already present on email events.
Campaign and flow records
- Provider ID, name, status, channel (email / sms), type (campaign / flow), scheduled or send time
- Aggregate counters: recipients, delivered, opens, unique opens, clicks, unique clicks, unsubscribes, bounces, spam complaints
- Revenue and currency (from the conversion metric)
- Computed open rate and click rate
- A timestamped raw copy of Klaviyo's response payload for debugging
Subscriber metrics (daily snapshot)
One row per day per integration with totals for: total subscribers, new subscribers, unsubscribes, net growth.
Webhook events
When Klaviyo can push webhooks to Boardroom (Advanced KDP customers or App Partners), each event is stored once — keyed by Klaviyo's external_id for idempotency — and applied as an increment to the matching campaign or subscriber metric. The polling sync above is still the authoritative source and overwrites these counters at the next cycle.
Sync cadence
- Historical sync: runs once right after you connect. Backfills the last 24 months. Takes 5 – 30 minutes depending on account size.
- Incremental sync: runs automatically every 6 hours. Refreshes the last 24 hours of campaign and flow performance plus subscriber counts.
- Manual sync: available from Settings → My Data Sources → Email / SMS → Sync Klaviyo. Same job as the scheduled one.
Security and storage
- OAuth access and refresh tokens are encrypted at rest using Laravel's encrypted casts.
- Webhook signing secrets are encrypted at rest.
- Webhook payloads are HMAC-SHA256 verified using each integration's per-account secret, with timing-safe comparison.
- Boardroom is SOC 2 Type 2 audited and HIPAA-aware.
3.Compare Klaviyo campaign performance across brands 5 min read
Audience: marketers and brand owners who want to see which Klaviyo campaigns drive the most revenue, and how that stacks up against other marketing channels.
Assumes: you've already followed the installation guide and the initial historical sync finished (status shows Connected on the Email / SMS tab).
Open the Email / SMS analytics page
From the left sidebar pick Analytics → Email / SMS. The page has:
- A row of KPI cards at the top — Total Subscribers, New Subscribers, Unsubscribes, Revenue, Open Rate, Click Rate
- A filter bar — Brand picker, Channel (email / sms / all), Type (campaigns / flows / all), Provider (Klaviyo / Mailchimp / all), Date range
- An AG-Grid table with one row per campaign or flow
Compare two brands side-by-side
- In the filter bar set Provider to Klaviyo.
- Open the Brand picker and tick the brands you want to compare.
- Pick a comparable date range — last 30 days works well for monthly newsletter cadences.
- The KPI cards now show totals across the selected brands, and the grid lists every campaign sorted by send date.
To group the grid by brand, click the Brand column header → Group by Brand. AG-Grid will collapse rows into per-brand sections with aggregate totals you can expand.
Find your highest-revenue Klaviyo campaigns
- Same filter setup as above.
- Click the Revenue column header to sort descending.
- Top rows are the campaigns with the highest attributed revenue (using Klaviyo's
Placed Orderconversion metric). - Hover any row's Revenue per Recipient cell to see the efficiency of that send.
Spot underperforming flows
- Set Type to Flows.
- Sort by Open Rate ascending.
- Flows at the top are candidates for a re-write or trigger review — low engagement compounds because automations send continuously, not as a one-off.
Combine Klaviyo with your store data
Boardroom's Overview dashboard (sidebar → Overview) puts Klaviyo revenue next to total Shopify / Amazon revenue, so you can answer "what share of monthly sales came from email and SMS?" at a glance. Filter by Brand on the Overview page — the Klaviyo revenue card respects the same Brand filter as the Stores and Ad Accounts cards.
Real-time vs. polled data
Subscriber counts and engagement events arrive in real time via Klaviyo's system webhooks (Advanced KDP customers and App Partners only). All other stats refresh every 6 hours from /api/campaign-values-reports and /api/flow-values-reports. Polling is the authoritative source — Boardroom never reports stats older than 12 hours.
4.Support
Email contact@ecommboardroom.com — replies arrive in the same inbox that monitors sync-completion notifications, so we have full context on your account before we respond.
Include your Boardroom email and (if relevant) the Brand name when reporting a sync issue — that lets us trace the integration in our logs without asking for more details.