Klaviyo - FAQ

Last updated: June 5, 2026

FAQ 1. How Klaviyo Tracks and Merges User Profiles

Klaviyo automatically builds customer profiles from all touchpoints — even before a user logs in or provides their email.

Anonymous Tracking (Pre-Signup or Login)

  • When someone installs your app and starts using it (e.g., browsing products, adding to cart), Klaviyo creates an anonymous profile.

  • This profile is identified using device data or a unique app ID.

  • No personal information (like email or phone) is tied to it yet.

  • In case of push notifications : notifications can also be sent to anonymous users as well. Users don't need to login to receive push notifications.

Profile Merging on Identification

When the user later signs up or places an order:

  • Klaviyo recognizes the email or phone number.

  • It merges the anonymous app activity with the now-known profile.

  • Result: You see all prior anonymous events (e.g., app browsing) linked to the customer’s email profile.

Cross-Platform Syncing

If the user:

  • Signs up on your website, and

  • Later logs into your mobile app with the same email,

Klaviyo will sync and merge all activity across web and app into one unified profile.

Why This Matters

  • You get a complete customer journey — from anonymous app usage to post-purchase behavior.

  • Enables smarter segmentation, retargeting, and personalized campaigns.

  • Reduces duplicate profiles and improves attribution accuracy.


FAQ 2. How to test push notifications

Please refer this guide here - https://help.appbrew.com/articles/8788207293-klaviyo-push-notification-guide


FAQ3. Why is there a difference in push notification subscriber counts between Appbrew and Klaviyo?

If you have recently integrated Klaviyo with your Appbrew mobile app, you may notice a discrepancy in your subscriber counts. This is normal and usually occurs because Appbrew measures "Active Devices" while Klaviyo measures "Stored Profiles."

Scenario 1: Klaviyo count is HIGHER than Appbrew

(Example: Klaviyo shows 77k, Appbrew shows 8-9k.)

This gap usually happens if you migrated to Appbrew from another app provider. It is the difference between a Historical Database (Klaviyo) and Active Reachability (Appbrew).

  1. The "Migration Gap" (Legacy Tokens): Klaviyo stores every push token your brand has ever collected, including those from your previous app provider (e.g., Plobal, Vajro). These old tokens are tied to a different digital signature and cannot receive notifications from your new Appbrew app.

  2. Appbrew’s "Smart Cleaning": Appbrew’s dashboard shows your true reachable audience. We "clean" our list in real-time by:

    • Removing Uninstalls: When a push fails because a user deleted the app, we remove that token immediately.

    • 30-Day Activity Filter: We only count users active in the last 30 days. Statistical data shows that inactive users have likely uninstalled or "offloaded" the app.

  3. Klaviyo’s "Bounce" Delay: Klaviyo is a database. It only removes a user from its "Push Enabled" count after a push is attempted and "bounces." If you haven't sent a mass campaign recently, Klaviyo still thinks those thousands of uninstalled users are reachable.


Scenario 2: Appbrew count is HIGHER than Klaviyo

(Example: Appbrew shows 5k, Klaviyo shows 3k)

While both platforms support push for anonymous users, the difference comes down to "Device-Centric" vs. "Profile-Centric" math.

1. Person vs. Device (The Merging Logic)

  • Appbrew counts Devices: If one customer has your app on both their iPhone and iPad, Appbrew sees two reachable device tokens and counts them as 2.

  • Klaviyo counts People: Even if that user is anonymous, Klaviyo tries to link behaviors. Once that user identifies (logs in) on both devices, Klaviyo merges those two device tokens into one single profile.

  • The Result: Appbrew will always show a higher number because it reflects every "screen" you can reach, whereas Klaviyo reflects the unique "customers" you are talking to.

2. List vs. Segment Targeting

  • In Klaviyo, many brands send to a List (e.g., "Newsletter List"). Anonymous users are usually not on a List; they only exist as "Profiles."

  • The Result: If you view your "List" size in Klaviyo, it will look much smaller than Appbrew. To see the true count in Klaviyo that includes anonymous users, you must use a Segment with the filter: Can receive mobile push is true.

3. SDK Sync Latency

  • Appbrew registers the device token the millisecond the user clicks "Allow."

  • Klaviyo requires the SDK to successfully initialize and "handshake" with the server to create an anonymous profile. If a user opens the app in a poor network area and closes it quickly, Appbrew may have the token locally, but Klaviyo may not have created the profile yet.

Updated "At-a-Glance" Table

Metric

Appbrew

Klaviyo

Anonymous Users

Included. Counted as unique device tokens.

Included. Counted as anonymous profiles.

Multiple Devices

Counted separately. (1 person with 2 phones = 2).

Merged. (1 person with 2 phones = 1 profile).

Old App Tokens

Automatically excluded.

Kept until a "Bounce" occurs.

Uninstalls

Removed via 30-day activity filter.

Removed only after a failed send.

The "Key Takeaway" for the Customer:

"Both platforms can reach your anonymous users. The reason Appbrew's number is higher is simply that it counts every reachable screen, while Klaviyo deduplicates those screens into unique customer profiles once they are identified."

// Actionable Step: How to see the "True" number in Klaviyo

To see a Klaviyo count that matches your Appbrew dashboard, do not look at your total "Push Enabled" list. Instead, create a Segment in Klaviyo with this logic:

  • Can receive mobile push is true.

  • AND Opened App (or Viewed Product) is at least once in the last 30 days.

Why this matters: Targeting this "Active" segment ensures 90%+ delivery rates. Sending to the full "Historical" list in Klaviyo will result in massive bounce rates, which can damage your reputation with Apple and Google’s notification servers.


FAQ 4. Why are my Klaviyo push notifications not being received/skipped?

If your push notifications aren’t reaching your customers, please work through this troubleshooting guide. 90% of issues can be resolved by checking your Klaviyo settings or user permissions.

//Step 1: Check the User’s Phone (The "Quick Checks")

Before diving into data, ensure the basics are covered on the recipient's device:

  • Notification Permissions: Did the user click "Allow" when they first opened the app? They can check this in Settings > [Your App Name] > Notifications.

  • App Status: Is the app still installed? If a user uninstalls the app, their token becomes invalid immediately.

  • Low Power/Focus Mode: On iOS and Android, "Battery Saver" or "Do Not Disturb" modes can delay or block notifications from appearing.

//Step 2: Audit your Klaviyo Campaign (The "Marketing Checks")

Check these settings inside your Klaviyo dashboard for the specific campaign or flow:

  • Smart Sending: This is the #1 reason pushes are skipped. If a user received another push or email in the last 24 hours, Klaviyo will automatically "Skip" them. Action: Check the "Skipped" count in your campaign report.

  • Segment Accuracy: Does the user actually meet the criteria? If your segment requires "Email is set," anonymous app users will be excluded.

  • Profile Identification: Is the device token attached to the profile? Open the user’s profile in Klaviyo and look for the $ios_tokens or $android_tokens property. If these are missing, the app hasn't "Identified" that user yet.

You can also refer to this official FAQ guide shared by Klaviyo for exact same problem: https://help.klaviyo.com/hc/en-us/articles/20445195483035

//Step 3: Verify your Technical Credentials (The "Plumbing")

If no one is receiving notifications, there may be a break in the connection between Klaviyo and Apple/Google:

  • iOS (.p8) Key Expiry: Apple’s push keys can expire or be revoked. Action: Check Klaviyo Settings > Push > iOS to ensure your .p8 file, Team ID, and Key ID are all active.

  • Bundle ID Mismatch: Your App’s Bundle ID (e.g., com.brand.app) must exactly match the one entered in Klaviyo. Even a single character difference will cause all pushes to fail.

  • Android Service Account: Ensure your Firebase JSON file is correctly uploaded in Klaviyo Settings > Push > Android.

Note : Please reach out at support@appbrew.tech for help in investigating this.

//Step 4: When to Contact Appbrew Support

If you have verified that your credentials are correct, Smart Sending is off, and the user has permissions enabled, but notifications still aren't arriving, please reach out to us at support@appbrew.tech.

Our team will investigate the following "Code-Level" areas:

  • SDK Initialization: Ensuring the Klaviyo SDK is waking up correctly when the app starts.

  • Token Registration Hooks: Verifying the code that sends the "Push Token" from the phone to Klaviyo’s servers.

  • Deep Link Mapping: Checking if the "Action" inside the push (like opening a specific product) is correctly handled by the app's navigation logic.

💡 Pro-Tip for Fast Troubleshooting

To test a specific device immediately:

  1. Find your FCM/APNs Token (available in the App's Debug Menu if enabled).

  2. In Klaviyo Campaign Builder, click "Send Preview."

  3. Choose "Manual Entry" and paste your token.

  4. If this test push arrives, your API Keys are fine, and the issue lies within your Audience Segments.


FAQ 5. How does Push flow help in app growth?

Here is how Flows specifically help your app growth:

1. Revenue Recovery (Abandoned Cart/Checkout)

This is the highest-impact flow. If a user adds a product to their cart in the app but doesn't complete the purchase:

  • How it helps: It automatically sends a push notification (e.g., 30 minutes later) reminding them to finish.

  • Result: Brands often see these flows recover 15-20% of lost sales without any manual effort.

2. Instant Engagement (Welcome Series)

Triggered immediately when a user creates an account or identifies themselves for the first time in the app.

  • How it helps: It greets the user when their interest is highest, often including an "App-only" discount code to drive the first purchase.

  • Result: It sets the tone for the brand and builds immediate loyalty.

3. Increased Retention (Win-back & Re-engagement)

Triggered when a user has been inactive for a certain period (e.g., 30 days since last app open).

  • How it helps: It brings "silent" users back into the app with personalized content based on their past browsing history.

  • Result: Lowers "Churn Rate" and keeps the app installed on the user's phone

4. Multi-Channel Coordination

Klaviyo flows allow you to "Smart Pause" messages.

  • How it helps: If a user already clicked an app push, the flow can automatically skip sending them an email or SMS for the same offer.

  • Result: Saves on SMS/Email costs and prevents annoying your customers with repetitive notifications.

In summary: Flows turn your app into an autonomous sales engine. Once set up, they ensure you never miss an opportunity to convert a high-intent user.