The Klaviyo InboxEagle integration connects your Klaviyo account to InboxEagle’s placement monitoring infrastructure using a Private API Key. Setup has two layers: the API key connection syncs campaign and list data on a daily schedule, and an optional webhook configuration makes that data real-time. Once active, every campaign and flow send is tracked against actual inbox, spam, and promotions tab outcomes across Gmail, Outlook, Yahoo, and Apple Mail.
Klaviyo tells you what happened inside your account — open rates, click rates, bounce counts. What it doesn’t tell you is whether those opens came from the inbox or the promotions tab, whether your complaint rate is approaching Gmail’s 0.10% spam rate threshold, or whether a specific list segment is quietly degrading your domain reputation. That’s the gap the integration closes.
Having set this up across eCommerce programs at every sending volume, the single most common mistake is completing the API key connection and stopping there. Without webhooks, you’re working with data that’s up to 24 hours stale. This guide covers both steps so the integration works the way it’s designed to.
Part 1 — API Key Setup: Connecting Your Klaviyo Account
What You Need Before Starting
- An InboxEagle account on the Professional plan or above (the Klaviyo integration is not available on Starter)
- Admin-level access on your Klaviyo account — only admin users can create Private API Keys with the scopes required to read campaign, list, and statistics data
- A few minutes in both platforms to generate and paste the key
Step 1: Open the Integrations Page in InboxEagle
Log into InboxEagle and navigate to Integrations in the left sidebar. You’ll see a list of available integrations. Select Klaviyo. All configuration for this integration — API key entry, webhooks, sync status — lives here, so you’ll return to this page to check connection health and trigger manual syncs.
Step 2: Get Your Klaviyo Private API Key
In a separate tab, log into your Klaviyo account. Navigate to Settings → API Keys.
Under the Private API Keys section, click Create Private API Key. Give it a descriptive name (e.g., “InboxEagle Integration”) so it’s identifiable later. Klaviyo generates the key — it starts with pk_. Copy the full key immediately, as Klaviyo will only show it once.
Why this matters: Klaviyo’s Private API Key is what grants InboxEagle read access to your account data — campaigns, lists, statistics, and engagement metrics. The key must be generated by an admin user because only admin-level accounts have the permissions to expose these data scopes. If you generate a key with a limited-permission account, InboxEagle will connect but return empty or partial data.
Security note: A Private API Key gives read access to your Klaviyo account data. InboxEagle uses it only to pull campaign metrics, list data, and statistics. It cannot send emails, modify lists, or change any Klaviyo settings.
Step 3: Paste the Key Into InboxEagle and Connect
Return to InboxEagle’s Klaviyo integration page. Paste your Private API Key into the Klaviyo Private API Key field and click Connect.
InboxEagle validates the key immediately. If the key is valid and has the necessary permissions, the connection is established within seconds.
Why this matters: InboxEagle validates the key on submission rather than accepting it blindly — so if the key was generated by a limited-permission account or was copied incorrectly, the error surfaces immediately rather than silently returning empty data.
Step 4: Wait for the Initial Sync
After connecting, InboxEagle begins its initial data synchronization. This pulls your full campaign history, list data, and statistics.
Expect 10–15 minutes for the initial sync depending on your account size — it’s a full historical pull of all campaigns and list data available through the API. Subsequent syncs are incremental and much faster. You’ll see a sync status indicator on the Klaviyo integration card; once it shows complete, the Klaviyo dashboards in InboxEagle are populated.
Checking Your Connection Health
Once connected, the integration card shows the connection status. If it shows Disconnected, the API key may have been revoked or regenerated in Klaviyo. Fix this by returning to Integrations → Klaviyo, generating a new Private API Key in Klaviyo, and pasting it into the field again. The reconnect process takes under a minute and doesn’t affect your historical data.
Manual sync: At any time, click Sync now on the integration card to force a fresh data pull. This typically completes in 30 seconds to a few minutes. Use this after a major campaign send if you don’t want to wait for the daily automatic sync.
Part 2 — Webhook Setup: Making Your Data Real-Time
The API key connection updates on a daily schedule. If you send a campaign at 10am, the data may not appear in InboxEagle until the following day’s sync. Webhooks eliminate this lag — each Klaviyo event fires to InboxEagle within seconds.
What Webhooks Enable
With webhooks configured, InboxEagle receives eight event types from Klaviyo in real time:
| Event | What it captures |
|---|---|
| Campaign sent | Each campaign dispatch |
| Campaign opened | Individual recipient opens |
| Campaign clicked | Individual recipient clicks |
| Campaign bounced | Hard and soft bounces |
| Campaign unsubscribed | Unsubscribe actions |
| Campaign marked as spam | Spam complaints |
| List subscribe | New list subscribers |
| List unsubscribe | Subscriber removals from lists |
Without webhooks: data updates once per day. With webhooks: data updates within seconds of each event.
Step 1: Generate Your Webhook Endpoint URL in InboxEagle
In InboxEagle, go to Integrations → Klaviyo → Webhooks. Click Generate endpoint URL.
InboxEagle creates a unique URL specific to your account. Copy this URL — you’ll paste it into Klaviyo in the next step.
Why this matters: This URL is unique to your InboxEagle account and acts as the receiving address for all Klaviyo event data. Each account gets its own endpoint — do not share it or use a URL from another account.
Step 2: Configure the Webhook in Klaviyo
Log into Klaviyo and navigate to Settings → Webhooks (or API → Webhooks depending on your Klaviyo version).
Click Create webhook and:
- Paste the endpoint URL you copied from InboxEagle into the Endpoint URL field
- Select all eight event types listed above — or at minimum all campaign events and list subscribe/unsubscribe
- Save the webhook configuration
Klaviyo will send a test ping to your endpoint to verify it’s reachable.
Why this matters: Selecting all event types gives InboxEagle the full picture. If you only select campaign-level events and skip list subscribe/unsubscribe, InboxEagle’s list health data won’t update in real time — you’ll only see list metrics during the daily sync.
Step 3: Verify Activation in InboxEagle
Return to InboxEagle’s webhook configuration screen. Within a few seconds of Klaviyo sending its test ping, the webhook status should update to Active.
The four possible status states you may see:
| Status | Meaning |
|---|---|
| Active | Receiving events correctly |
| Pending | Registered but no events received yet |
| Error | Recent delivery failures — check endpoint URL |
| Disabled | Manually turned off or disconnected |
If the status shows Error, the most common cause is a copied URL with trailing whitespace or a missed character. Re-copy the endpoint URL from InboxEagle and update it in Klaviyo.
A Note on Security
Klaviyo signs all webhook payloads using ECDSA with P-256 cryptography. InboxEagle automatically verifies these signatures on receipt — you don’t need to configure this manually. The system also enforces a 5-minute replay window, which rejects any duplicate or delayed events outside that window. This prevents replay attacks where a captured payload is resent maliciously.
Part 3 — Reading the Klaviyo Analytics Dashboards
Once both the API key connection and webhooks are active, InboxEagle populates four analytics views specific to your Klaviyo data.
Campaigns Tab
The Campaigns tab lists every synced campaign with the following metrics per send:
- Sent — total recipients targeted
- Delivery status — delivered vs. failed
- Bounced — broken down by hard and soft bounce subcategories
- Opened — raw open count
- Clicked — raw click count
- Unsubscribed — opt-out count
- Spam complaints — complaint count
Clicking into an individual campaign shows the drill-down view: subject line, send metadata, hourly engagement timeline, email client breakdown (Gmail vs. Apple Mail vs. Outlook split), and bounce/complaint subcategories.
The placement correlation: This is where the integration delivers its core value. The campaign drill-down shows Klaviyo’s engagement metrics alongside InboxEagle’s inbox placement result for that send — so when a campaign shows low open rate, you can see immediately whether that’s because it went to spam (placement data) or because engagement was genuinely low (engagement data). These are different problems with different fixes.
Lists and Segments Tabs
The Lists and Segments tabs show audience health using InboxEagle’s risk scoring system.
Risk score (0–100): Calculated from bounce rate, complaint rate, and invalid address prevalence weighted together into a single number. The thresholds:
| Score | Risk Level | Recommended Action |
|---|---|---|
| 0–20 | Low | Continue normal sending |
| 21–50 | Medium | Review bounces; consider re-engagement |
| 51–80 | High | Pause sends; clean addresses |
| 81–100 | Critical | Stop sending immediately |
A list scoring above 50 is sending infrastructure that is actively degrading your domain reputation with every campaign. The score gives you an actionable trigger rather than requiring you to manually review bounce rate, complaint rate, and invalid address counts separately.
Why this matters for Klaviyo users specifically: Klaviyo doesn’t provide a single health score for lists and segments. You’d have to manually cross-reference bounce rates, complaint rates, and engagement rates across each audience. The risk score consolidates this into one number you can act on immediately.
Analytics Tab
The Analytics tab surfaces temporal patterns across your sending program:
- Engagement heatmap — opens and clicks by hour of day and day of week, showing when your subscribers actually engage
- Day-of-week comparison charts — performance variance across days, useful for identifying optimal send windows
Why this matters: Send time affects deliverability indirectly — campaigns sent when your audience is most engaged generate higher engagement signals, which strengthens domain reputation over time. Campaigns sent at low-engagement windows get lower open rates, which over time registers as a negative signal to mailbox providers.
Email Clients Tab
The Email Clients tab shows the distribution of opens across:
- Gmail
- Apple Mail
- Outlook
- Other clients
- Device type breakdown (desktop vs. mobile)
Why this matters for placement interpretation: Apple Mail’s Mail Privacy Protection (MPP) inflates open rates by pre-loading tracking pixels — so Apple Mail opens in Klaviyo are partially artificial. When InboxEagle’s Bot Finder is connected, it cross-references bot-filtered rates against this client distribution, separating genuine Apple Mail engagement from MPP-triggered opens. This gives you accurate open rates for Gmail and Outlook recipients specifically, which are the most reliable engagement signals for deliverability purposes.
Part 4 — The Monitoring Workflow
Having the integration set up is one thing. Using it as an active monitoring tool is another. Here’s the workflow that makes it operationally useful.
After Every Campaign Send
- Check placement first — before looking at open rates, check InboxEagle’s placement result for the campaign. Inbox, spam, or promotions tab. This tells you whether open rate is a reliable signal for this send.
- Cross-reference complaint rate — in the campaign drill-down, check the spam complaint count against the total delivered. If it’s approaching 0.10% of delivered volume, that requires action before the next send regardless of what Postmaster Tools is showing.
- Check the sending list’s risk score — if the campaign went to a specific list or segment, open the Lists tab and check its current risk score. A spike in risk score after a send indicates the audience contained problematic addresses.
Weekly List Health Review
Once per week, open the Lists and Segments tabs and scan for any lists with risk scores above 20. For anything in the medium range (21–50), cross-check the bounce subcategories in the campaign drill-down to understand whether the issue is hard bounces (invalid addresses) or soft bounces (temporary failures).
When Something Looks Wrong
If placement drops, open rate collapses, or a complaint spike shows up:
- Use the campaign hourly timeline to pinpoint when the issue started within the send window
- Check the email client breakdown — if Gmail placement dropped but Apple Mail looks fine, the issue is Gmail-specific (domain reputation or complaint rate)
- Cross-reference with Google Postmaster Tools spam rate for the same date
- If Postmaster Tools shows a complaint rate spike, trace it back to the specific list segment using InboxEagle’s list risk scores
This correlation — Klaviyo engagement data + InboxEagle placement data + Postmaster Tools reputation data — is the complete diagnostic picture. Any one of these in isolation leaves gaps.
Common Setup Issues and Fixes
Integration shows Disconnected The Private API Key was likely revoked or rotated in Klaviyo. Return to Klaviyo Settings → API Keys, generate a new Private API Key, and paste it into the InboxEagle Klaviyo integration field. The process takes under a minute and preserves all historical data.
Connected but dashboards are empty Most likely a permissions issue. The Private API Key was generated by a limited-permission Klaviyo account that doesn’t expose campaign, list, or statistics data. Go to Klaviyo Settings → API Keys, generate a new key using an admin account, and reconnect in InboxEagle.
Webhook status stays on Pending Klaviyo hasn’t fired any events yet — this is normal for new webhooks before the next campaign send. Send a test campaign or wait for the next scheduled send. Status will move to Active on first event receipt.
Metric discrepancies between Klaviyo and InboxEagle Expected and normal. Klaviyo and InboxEagle may use different date boundary definitions (UTC vs. account timezone), and InboxEagle’s bot-filtered rates will differ from Klaviyo’s raw rates when Bot Finder is active. The filtered rates are more accurate for deliverability purposes.
Getting the Most from the Klaviyo InboxEagle Integration
The Klaviyo InboxEagle integration is most useful when both layers — API key and webhooks — are active and you’re using placement data to interpret Klaviyo’s engagement metrics, not just viewing them side by side.
If you haven’t set up a custom sending domain in Klaviyo yet, do that first — domain-level reputation data in InboxEagle is only meaningful when your sends are authenticated under your own domain. The Klaviyo custom sending domain setup guide covers it step by step. For the broader monitoring framework this integration fits into, see monitoring email deliverability in real time. And for a full picture of what else affects Klaviyo inbox placement beyond what this integration surfaces, see fixing inbox placement issues in Klaviyo.