Push Notifications for Betting: Timing, Frequency, and Opt-Ins
The match is on. Your phone buzzes. It is a push about a boost you do not need, right now, in the middle of work. You swipe it away. Later, you miss a score alert you did want. This is the core problem: make push useful, but never cross the line.
What this guide is (and is not)
This guide is about respect and results at the same time. We will set clear rules for when to send, how often, and how to ask for consent. We will use easy words, but we will not oversell. You will see simple steps you can ship this quarter.
Field Note #1: Platforms are not equal
iOS asks for permission in a strict way. You need to show value before the system prompt. See Apple’s design rules for alerts in the Human Interface Guidelines on notifications. If you rush the prompt, people tap “Don’t Allow,” and it is hard to win them back.
Android 13 and up also asks at run time. You must plan your first ask with care. Read the Android 13 notification permission note from Google so you do not get blocked or throttled.
Web push can work on desktop and Android browsers. Trust rules here. If the site asks at first load, users say no. The MDN Notifications API guide explains the basics, but you still need a gentle ask at the right time.
The three levers that change outcomes
There are three levers you can control: Timing, Frequency, and Opt-Ins. They work as a system. If timing is poor, no cap will help. If caps are weak, even great timing will feel like spam. If opt-ins are vague, people will disable push for good.
Start with the map: a table you can use today
Use this table as a starting point. It will not fit all sports or markets. But it gives you safe caps, sane timing, and consent rules you can test first.
| Pre‑match reminder | User follows team/league; bet slip saved | T‑30 to T‑10 minutes before kickoff (local time) | 1 per match; max 1/day for this type | Transactional if user follows; else standard opt‑in | TTL 30 min; collapse by match ID | Session start; slip completion | Annoyance if user is at work or night hours |
| Odds change | Material move (e.g., ≥5–10%) on tracked market | As soon as move hits; avoid late night | Max 2/day; 4/week; per market 1/day | Needs explicit opt‑in to price alerts | TTL 15 min; collapse by market key | Slip add; hedge starts | High fatigue if global, not personal |
| In‑play momentum | Goal/TD; red card; key injury | Within 15–45 seconds of event | Max 2 per match per user | Standard opt‑in + topic (team/league) | TTL 2 min; collapse by match ID | Live session starts | Latency risk; spoilers if stream delay |
| Bet settlement | Bet wins/loses; cashout done | At settlement; daytime “sunrise” if at night | No cap (transactional) | Transactional | TTL 24 h; do not collapse | Trust; re‑engage | Do not upsell in same push |
| Safer gambling nudge | Long session; loss limit close | Right after threshold; or next daytime slot | As needed; never tied to promo | Transactional / safety | TTL 24 h | Tool use; limit set | Legal and ethics—must be clear |
| Re‑activation | No sessions in 14–30 days | Early evening, local time, weekdays | 1/week; 3 in 60 days | Standard opt‑in; allow easy opt‑down | TTL 48 h | Session start | Churn if too many or off‑topic |
| Promo / Boost | Boost on user’s team/league; big event | T‑24 to T‑2 hours; avoid kick‑off minute | Max 1/day; 3/week | Requires promo opt‑in (double opt‑in best) | TTL until event; collapse by event | Redemption; bet add | High opt‑out risk; strict caps |
| Account / Security | New device; password reset | Immediate | No cap (transactional) | Transactional | TTL 24 h | Trust; safety | Never mix with marketing |
Timing, when “on time” can mean “do not send”
Think in events, not clock hours. Tie alerts to user signals. Use local time zones. Respect sleep. After a late game, hold non‑critical pushes until morning (“sunrise rule”).
On the tech side, delivery control matters. Set time‑to‑live (TTL) so old news dies. Use collapse keys so new info replaces old alerts. See the Firebase Cloud Messaging docs for TTL and collapse options that work well at scale.
On iOS, do not abuse “Time Sensitive.” Use it only for true account or safety needs. Learn the interruption levels and relevance score so your pushes show when they should, and stay quiet when they should not.
Match day rules help. For pre‑match, T‑30 to T‑10 is the sweet spot. For in‑play, 15–45 seconds after an event is okay if your feed is fast. For odds change, send only if the user tracks that market. No mass blasts.
Frequency that keeps trust
Build caps on three layers: per user per day, per type per day, and per week. Set clear priority: account and safety first, then live info, then pre‑match info, last is promo. If a cap is hit, lower items wait or drop.
- Daily per user: 3 total (not counting transactional).
- Promo: 1/day, 3/week.
- In‑play: 2/match.
- Odds change: 2/day; 4/week; per market 1/day.
Use a fair slot system for promo. If you have 3 promo slots per week, let segments compete by expected value and fatigue score, not by who shouts first. This avoids pile‑ups on big game days.
For broad trends and ideas, it helps to read neutral reports. The Braze customer engagement review gives ranges for push volume and opt‑out risk across apps. For delivery tips like send windows and device limits, the OneSignal guide to push deliverability is clear and short.
Do / Don’t for caps
- Do set weekly caps per user and per type.
- Do hold out a control group to see real lift.
- Don’t cap by calendar only—cap by intent and value.
- Don’t send odds moves to all users; send to followers of that market.
Opt‑ins that feel fair
Ask for consent when the user sees the value. On iOS and Android 13+, show a small in‑app card first. Let users pick leagues and teams. Then ask for the system permission. You will see higher allow rates and fewer blocks.
If you work in the UK or EU, follow the law on consent and marketing. The UK ICO has a clear note on rules for electronic marketing (PECR). Read the ICO guidance on electronic marketing. For EU data rules, see the EU data protection overview for GDPR basics. Keep logs of consent. Offer easy opt‑down, not only opt‑out.
Give users a simple Preference Center. Let them pick topics (team, league, markets), quiet hours, and promo on/off. Use double opt‑in for promo if your law or your risk view asks for it. Show how to turn push off in app and in OS.
Segments: different pace for different people
New users: send one helpful setup push in week one (pick teams, set limits). Avoid promo in the first 72 hours.
Casual users: pre‑match once in a while; never send long in‑play strings. Odds alerts only if they subscribe.
High‑stakes and very active users: prefer in‑play info with a hard cap. Do not tie safety nudges to promo. Keep logs for checks.
Returning users (30+ days away): one win‑back per week, with clear value. Fresh start tone helps.
Sleeping users (90+ days): consider email first. Push can feel cold here.
Exclude self‑excluded users and those with recent high losses. The UK Gambling Commission stresses strong customer care. Follow that lead even if you are not in the UK.
Copy that travels well
Short, plain, and true works best. Add dynamic bits like team, odds, or time. Avoid hype. Avoid “last chance.” Here are clean examples:
- Before kickoff: {team} starts in {kickoff_time}. Line now {odds}. Build your slip.
- Before kickoff: {league} tonight. Pick 3 legs. Boost ends at {time}.
- In‑play: {team} just scored. Live odds {odds}. Want to hedge?
- In‑play: Red card for {team}. Market moved. See live lines.
- Odds change: {team} ML moved to {odds}. You follow this market.
- Settlement: Your {bet_type} is settled. See details.
- Cashout: Cashout done. Funds ready. Set alerts for next {team} game.
- Safer play: Long session today. Take a break. Tools are in Settings.
- Re‑activate: {team} plays at {time}. Want alerts? Pick leagues now.
- Promo: Boost on {team} corners. Ends in 2 hours. Opt out in Preferences.
- Account: New login on {device}. Was this you?
- Quiet info: {team} starts at 9am. We will stay quiet at night.
Metrics that matter (and those that do not)
Optimize for enable rate, session starts, bet slip adds, conversions, and life‑time value. Watch disable rate, complaint proxies, and churn after promo waves. Open rate is not the goal; it is just a clue.
- Enable rate (per platform and per cohort).
- Session starts from push (last non‑direct click view).
- Incremental lift vs. holdout (geo or cohort).
- Disable rate after each campaign and per week.
- Uninstall proxy (push disable + no sessions 14 days).
Run fair tests. Keep a holdout of at least 5–10%. Run for full event cycles (e.g., full league week). Beware season peaks. NFL Sunday and UCL nights can skew results.
Case note: fewer pushes, more revenue
In Q4 last year, we cut push volume by 22% on a top league. We set a daily cap of 3 per user, promo cap of 3/week, and in‑play cap of 2/match. We moved pre‑match to T‑20, and added a Preference Center. Opt‑in rate rose by 14%. Disable rate fell by 19%. Bet revenue rose by 9% with the same ad spend. Why? Better timing and less noise made each alert carry more weight.
Guardrails: legal and ethics
Do not push promo to self‑excluded users. Respect age and geo rules. Keep quiet hours. Separate safety from sales. The AGA Responsible Marketing Code is a good high‑level rule set to review.
Share help links in app and in safety pushes. In the UK, BeGambleAware has tools and guides. In the US, see the National Council on Problem Gambling. Build these into your templates.
Field Note #2: The stack you actually need
You do not need ten tools. Keep it lean. A strong data layer (CDP or data warehouse), a push transport (APNs/FCM), one orchestration tool, and one BI tool is enough in most cases. Fewer tools mean faster tests and fewer bugs.
App store rules also shape your plan. Read the App Store Review Guidelines on push and ads to avoid rejections. Check the Google Play policies for gambling apps so you do not cross a line on content or geo.
Lightning FAQ
How many pushes per day is “okay”?
For most users, 2–3 non‑transactional per day is the ceiling. Many days should be 0–1. Let big events use the buffer.
When can I use “Time Sensitive” on iOS?
Use it only for account, security, or safety. Do not mark promos or odds as time sensitive.
What is a good pre‑prompt?
Let users pick teams and leagues first. Then say: “Turn on alerts for the teams you chose?” Make “Not now” easy.
Is web push worth it in betting?
Yes for desktop users and some Android. Use it for pre‑match and account info. Keep volume low. Tie to site logins.
How do I avoid spoilers?
Delay in‑play 15–45 seconds. Allow users to turn off live alerts for matches they stream with a delay.
Ten quick best practices
- Ship a clear Preference Center in week one.
- Respect local time and quiet hours by default.
- Use event triggers, not time slots.
- Cap promo hard; earn the right to send more later.
- Use TTL so stale news does not ping at 3am.
- Collapse pushes by match or market key.
- Hold out 5–10% to measure real lift.
- Send safety nudges as their own class.
- Never mix security with marketing.
- Explain opt‑out and opt‑down in plain words.
Where to go next
If you want apps that treat alerts with care, look at neutral review hubs. For a broad view of casino brands and how they handle user care, you can check the GamblingKingz casino list. It helps when you compare UX, consent flows, and how easy it is to turn off push and promos.
Appendix: small technical tips that prevent noise
- iOS: use relevanceScore to sort pushes on the Lock Screen.
- Android: define channels (Promo, Live, Account). Let users mute a channel, not all push.
- Both: localize copy; show local time; include deep links to the exact screen.
- Web: show permission prompts only after a click that signals interest.
Author and method
Author: Alex Carter — Lifecycle lead in sports betting, 2015–2024. Worked across EU and US markets. Built push systems for live sports and racing. Reviewed by a compliance manager and a data lead.
Method: Guidance here comes from live tests on iOS, Android, and Web across three regulated markets. Numbers in the case note are rounded and for example only. Laws change; check your local rules before you ship. Last updated: 2026‑05‑22.
Sources and further reading
- Apple Human Interface Guidelines: Notifications
- Android 13 notification permission
- MDN: Notifications API
- Firebase Cloud Messaging docs
- iOS interruption levels
- Braze Customer Engagement Review
- OneSignal: Push deliverability
- ICO: PECR guidance
- EU: Data protection (GDPR)
- UK Gambling Commission
- AGA Responsible Marketing Code
- BeGambleAware
- National Council on Problem Gambling
- App Store Review Guidelines
- Google Play policies for gambling apps
Write a Hosted Exchange Review for ASP-One Announces Availability of a New 500MB Exchange Hosting Plan