How Personalized Push Notifications Prevent CTR from Dropping?
Imagine: you send a push "20% off everything!" — CTR drops 15%, unsubscribes double. Without personalization, 80% of notifications remain unopened, and every second unsubscribe happens after the first message. True personalization means the notification includes the user's name, favorite category, and arrives during their habitual activity. Such notifications achieve CTR 1.5–2 times higher, with conversion reaching 25–35%. We've solved similar tasks for dozens of mobile projects, from e-commerce to fintech apps. For example, for a fintech app we boosted CTR from 8% to 22% in a month by implementing dynamic variables and Intelligent Delivery. Let's break down the technical implementation on the OneSignal, Firebase, and Braze stack. Get a consultation on your scenario — we'll help you choose the optimal solution.
How Dynamic Variables Solve Low CTR?
Dynamic variables in the payload are the foundation of personalization. OneSignal and Braze support templates with variables that the server renders before sending.
Example payload for OneSignal:
{ "app_id": "YOUR_APP_ID", "include_aliases": { "external_id": ["user_88234"] }, "headings": { "ru": "{{first_name}}, your favorite product is cheaper" }, "contents": { "ru": "{{product_name}} now costs {{new_price}} — {{discount_percent}}% less" }, "data": { "product_id": "{{product_id}}", "screen": "product_detail" } } Variable values are taken from user tags. The first_name tag is set on the client:
OneSignal.User.addTag("first_name", user.firstName) OneSignal.User.addTag("preferred_category", user.topCategory) Personalized Based on Behavior
This is more complex — it requires an analytics layer on the backend. A typical scheme:
- The client logs events (product view, wishlist add).
- The backend or ML service generates recommendations for the user.
- When sending, the payload is enriched with recommended content.
If you don't have your own engine, use Firebase Personalization or Braze Recommendations. Example logging in Kotlin:
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM) { param(FirebaseAnalytics.Param.ITEM_ID, product.id) param(FirebaseAnalytics.Param.ITEM_CATEGORY, product.category) param(FirebaseAnalytics.Param.PRICE, product.price) } Why Intelligent Delivery Is Not a Luxury but a Necessity?
OneSignal Intelligent Delivery and Braze Optimal Time track activity patterns of each user and delay delivery until the period with the highest open probability. For one user it's 8 AM, for another it's 11 PM. It's enabled with a single parameter: "delayed_option": "last-active". A more precise version is "intelligent_delivery": true. According to our data, this increases CTR by 25–40% — the best result among all time-optimization methods.
How to A/B Test Push Notifications?
Without A/B, you can't claim personalization works. OneSignal supports native split tests: send multiple variants (e.g., two different headings), and after gathering statistics the algorithm automatically shows the winner. Example:
{ "name": "price_drop_ab_test", "messages": [ { "variant_id": "A", "contents": { "ru": "{{product_name}} got {{discount}}% cheaper" }, "weight": 50 }, { "variant_id": "B", "contents": { "ru": "{{discount}}% off an item from your wishlist" }, "weight": 50 } ] } After the test, OneSignal shows CTR per variant. The winner is embedded into the template.
How to Set Up Personalization in 6 Steps
- Integrate the OneSignal SDK (iOS/Android) or Firebase Cloud Messaging.
- Set up user tags on the client: name, category, last visit.
- Create push templates with variables
{{first_name}},{{product_name}}. - Enable Intelligent Delivery (OneSignal) or Optimal Time (Braze).
- Run an A/B test with two heading variants and automatic winner determination.
- Set up conversion tracking via outcome events.
Personalization Methods Comparison
| Method | CTR Lift | Implementation Complexity |
|---|---|---|
| No personalization | baseline | 0 |
| Dynamic variables | +30–50% | low |
| Intelligent Delivery | +25–40% | low |
| Behavioral recommendations | +50–80% | high |
| ML models | +80–150% | very high |
Conversion Tracking
CTR is an intermediate metric. What matters more is whether the user performed the target action. For that you need outcome events:
OneSignal.Notifications.addClickListener { event -> val productId = event.notification.additionalData?.getString("product_id") OneSignal.Session.addOutcome("notification_click_to_product") } OneSignal.Session.addOutcomeWithValue("purchase_from_notification", orderValue.toFloat()) This links conversion to a specific notification. In our projects, post-click conversion reaches 35%.
Push Notification Platform Comparison
| Platform | Dynamic Variables | Intelligent Delivery | A/B Testing | Price |
|---|---|---|---|---|
| OneSignal | + (tags) | + (Intelligent Delivery) | + | Free up to 10k users |
| Braze | + (Liquid) | + (Optimal Time) | + | Paid (quote required) |
| Firebase | + (via Cloud Functions) | - (manual) | - (via Remote Config A/B tests) | Free |
Common Personalization Mistakes
Details
- Missing fallback values for variables — leads to empty text. - Ignoring timezone — notification arrives at inconvenient time. - Resending after click — user unsubscribes. - Solution: set default values, use Intelligent Delivery with timezone, check click status.What Our Work Includes
- Audit of current notifications and metrics
- Setting up dynamic templates and SDK integration
- Enabling Intelligent Delivery and A/B tests
- Setting up conversion tracking (outcome events)
- Delivery documentation and 2 weeks of post-launch support
Timeline and Cost
Implementation of the basic set (dynamic variables, Intelligent Delivery, A/B testing) takes 6–10 business days. If a custom recommendation layer on the backend or integration with an external ML system is needed, timelines are discussed individually. Savings on notification costs from CTR improvement can reach 30% with our approach. Cost is calculated individually for your project.
Our experience: over 5 years in mobile development, more than 50 personalization projects delivered. Certified OneSignal and Firebase specialists ensure quality.
Order an audit of your push notifications — contact us. We'll assess your project for free and suggest a solution. Get a consultation on your scenario — we'll help you choose the optimal solution.







