Personalized messages aren’t just a “nice to have”—they’re the difference between your users ignoring you and actually paying attention. If you’re using push notifications, you’ve probably heard about OneSignal’s data tags. These little nuggets let you tailor messages to what your users care about. The thing is, the docs skip over a lot, and “personalization” can mean a hundred different things.
This guide is for folks who want to stop blasting generic push notifications and start sending stuff people actually want to read. You’ll get a clear, step-by-step process for using OneSignal data tags to personalize messages—without getting lost in jargon or guesswork.
Why bother with data tags?
Let’s be honest: most push notifications are spammy. Users tune them out. Data tags let you attach details to each user (like favorite team, language, or last purchase), so you can send messages that actually matter to them.
Are they magic? No. But done right, you’ll see higher open rates and fewer annoyed users. Just don’t expect data tags to fix bad content or clumsy messaging—garbage in, garbage out.
Step 1: Decide what “personalization” really means for you
Before you touch any code or dashboards, get specific:
- What do your users actually care about? Is it news updates, new products, reminders?
- What do you know about them already? Age, language, location, preferences?
- How creepy is too creepy? Just because you can personalize doesn’t mean you should. Stick to things users expect.
Pro tip: Start small. Pick one or two data points you know will help, like favorite category or last login date. Don’t overcomplicate things; you can always add more later.
Step 2: Set up data tags in OneSignal
Assuming you’ve got OneSignal running in your app or site, it’s time to add data tags. A “tag” is just a key-value pair tied to a user/device. For example: favorite_team: "Lakers"
.
How to add tags:
- Mobile apps (iOS/Android):
- Use the OneSignal SDK’s
sendTag
orsendTags
methods. -
Example (JavaScript for React Native): js OneSignal.sendTag("favorite_team", "Lakers");
-
Or for multiple tags: js OneSignal.sendTags({ favorite_team: "Lakers", plan: "paid" });
-
Web apps:
-
Use the
sendTag
method after initializing OneSignal. js OneSignal.sendTag("language", "en"); -
REST API:
- Useful for batch updates or server-side personalization. bash curl --include \ --request POST \ --header "Authorization: Basic YOUR_REST_API_KEY" \ --header "Content-Type: application/json" \ --data-binary '{ "app_id": "YOUR_APP_ID", "tags": {"favorite_team": "Lakers"} }' \ https://onesignal.com/api/v1/players/USER_ID
What works: Setting tags at the right time—think signup, profile update, or when a user does something important.
What to skip: Don’t try to tag everything. Each tag is more maintenance, more room for mistakes, and sometimes, just more noise.
Step 3: Keep your tags clean and up to date
Old or messy data leads to bad personalization. If a user changes their favorite team, makes a new purchase, or switches languages, update their tags. Build this into your app’s flows:
- On profile changes: Update tags right away.
- On key actions: If an action changes what they care about (e.g., they follow a new topic), update the tag.
- On logout or account deletion: Remove or reset tags as needed.
Pro tip: Don’t rely on “set it and forget it.” Tags should reflect what’s true now, not what was true six months ago.
Step 4: Segment your audience using tags
Now for the fun part: actually using those tags to send smarter messages.
- Go to the OneSignal dashboard.
- Create a new segment.
- Set up filters based on your tags.
- Example:
favorite_team
isLakers
- Or:
plan
ispaid
ANDlast_login
is within 7 days
What works: Narrow segments. “People who did X and care about Y.” Don’t just do “all paid users”—combine tags to get specific.
What to ignore: Don’t go so narrow you end up with segments of 2 people. That’s just extra work for almost no impact.
Step 5: Personalize your message content
Here’s where most people stop short—don’t just target segments, actually use tags to customize the content itself.
- Use tag values inside your message. OneSignal lets you use tag variables in templates.
-
Example:
Hey {{first_name}}, your {{favorite_team}} just scored!
-
Test your templates. Make sure your fallback message isn’t awkward if a tag is missing. (“Hey , your team just scored!” is not a good look.)
-
A/B test different approaches.
- Try “Hey {{first_name}}!” vs. “Hey there!” and see what your audience prefers.
- Don’t assume more personalization is always better—sometimes users want quick info, not fake familiarity.
What works: Simple, clear personalization. Use their name, location, or preference if it makes sense.
What to skip: Overly clever or cutesy personalization. If it feels forced, it probably is.
Step 6: Send and monitor your campaigns
Push it live, but don’t walk away. The real work starts after you hit send.
- Watch open and click rates by segment. Are your personalized messages actually getting more attention?
- Look for opt-outs. If personalization is making people uncomfortable, you’ll see it in your unsubscribe rates.
- Iterate. Drop what isn’t working. Double down on what is.
Pro tip: Sometimes the most “personalized” message is… less frequent messaging. If users feel bombarded, even well-targeted pushes will annoy them.
Common pitfalls and how to avoid them
Let’s be clear: most teams make the same mistakes with OneSignal data tags. Here’s what to watch for:
- Too many tags, not enough meaning. Don’t collect what you’re not going to use.
- Never updating tags. Outdated tags = bad targeting.
- Segmenting for vanity, not value. Tiny segments look cool in a dashboard, but if they don’t drive results, they’re just clutter.
- Assuming personalization fixes everything. Bad timing, bad content, or too many notifications can’t be solved by dropping in a user’s first name.
Keep it simple, start small, and improve as you go
Personalizing messages with OneSignal data tags isn’t complicated—but it’s easy to overthink. Focus on one or two meaningful tags. Make sure your data is current. Use segments that matter. Track what works, and don’t be afraid to scale back if things get messy.
The best results come from small, consistent tweaks—not from one big personalization push. Keep it real, keep it useful, and your users will notice.