Documentation → Guides → Audiences
Audiences: the complete guide
How to split your subscribers into groups (by interest, country, ZIP code or any other criterion) and send each one only the pushes they care about.
Why audiences
Sending everything to everyone works while you send one push a day. As volume grows, irrelevant notifications become the number one cause of unsubscribes: the sports reader who gets three politics pushes a day first ignores them, then revokes the permission, and at that point they are gone for good. Audiences solve exactly this: every push reaches only the people who showed interest in that topic. The typical result is higher CTR and a flatter unsubscribe curve.
How it works: tags
Everything rests on one simple idea: subscribers accumulate tags, audiences are filters on tags.
A tag is a key-value pair attached to a subscriber. Your site assigns it with one line of JavaScript, available wherever the Natom snippet is installed:
natom.tag('cat_sports', '1')
When a reader visits a page containing that line, from that moment they count as interested in sports. Tags accumulate: someone who reads sports and then politics will carry both tags, and can belong to both audiences.
The recommended convention for categories
Use one tag per category with a fixed value of 1, not a single "category" tag with a variable value:
// YES: interests accumulate
natom.tag('cat_sports', '1')
natom.tag('cat_politics', '1')
// NO: each page overwrites the previous one
natom.tag('category', 'sports') // then 'politics' erases 'sports'
The key format is free, but cat_ + a lowercase name with underscores is the convention that also enables automatic RSS routing.
A complete WordPress example
On WordPress, one line in your article template (usually single.php) emits a tag for each category of the article:
<?php foreach (get_the_category() as $cat): ?>
<script>natom.tag('cat_<?php echo sanitize_title_with_dashes($cat->slug, '', 'save') ?>', '1')</script>
<?php endforeach; ?>
From that moment every reader profiles themselves through what they read, for every present and future category, with no further maintenance.
Letting readers choose: explicit preferences
So far a reader joins an audience because the site tags them (by hand with natom.tag(), or automatically through the WordPress plugin based on what they read). For some publishers that is not enough: they want readers to declare the categories they care about. Natom does that with explicit preferences.
Enable them from the prompt editor (Sites › Prompt, "Let readers pick categories") by listing the categories, or from the WordPress plugin by picking among the site's categories. From then on:
- Right after opting in, a panel with checkboxes appears. The reader ticks one or more categories and saves. Pressing "All" or closing keeps them subscribed with no restriction.
- They can change their mind any time: a link
<a href="#" data-natom-prefs>Manage notifications</a>reopens the same panel with their choices pre-ticked. On WordPress use the[natom_preferences]shortcode. - Every category is an audience (
cat_<slug>), created by Natom as soon as you list it. Audience sends, the plugin and RSS routing work with no difference. - Readers who pick nothing receive everything you send to "all subscribers". Readers who pick get that plus the pushes for their categories. So be careful: if you send only per-category pushes, readers who never chose receive nothing; keep sending general pushes too.
- The choice is sovereign. With preferences enabled, automatic tagging from reading is switched off for the listed categories: someone who ticked only "Staff" does not land in "Teachers" because they opened a Teachers article.
Choices live on the reader's device and on their subscriber profile: unticking a box removes them from that audience immediately.
Three things to know about panel categories
- They do not need to exist in WordPress. To Natom, a panel category is a label the reader can pick, not a site category. You can offer "Deals" or "Events" even if no article has that category: Natom creates the matching audience and whoever ticks it joins. Just keep in mind that such an audience lives on explicit choice and manual sends: the RSS feed never routes to it, the plugin does not suggest it when opening an article, and reading-based tagging does not feed it.
- Readers who pick nothing get everything; readers who pick get their categories plus pushes to everyone. A push to "All subscribers" reaches those who chose too: to reach one category only, pick the audience.
- Dashboard and plugin set the same list, and the last save wins. If you list categories in the dashboard and then save the WordPress plugin settings, the list becomes the one ticked in the plugin (and vice versa). Audiences already created remain, with their members, and you can keep sending to them even if they are no longer in the panel.
Creating an audience
Dashboard → Sites → Audience button on your site's row. An audience is a name plus a filter:
Audiences: yoursite.com
| Name | Filter | Members |
|---|---|---|
| Sports readers | cat_sports = 1 | 12,480 |
| Italy | geo = IT | 44,102 |
One-click geo audiences (your subscribers' countries):
✓ Italy (44,102)+ Switzerland (1,204)+ Germany (511)One-click audiences from tags:
✓ Sports (12,480)+ Politics (9,771)+ Economy (4,310)Two ways to create a segment:
- One click: Natom shows the countries and tags actually present among your subscribers, with counts. Click and the audience is ready, properly named.
- Manual: type a name, a key and a value. Useful for custom tags.
On creation, everyone who already matches the filter joins instantly (automatic backfill). From then on, every new subscriber or new tag updates memberships on its own, in real time.
Sending to an audience
In New push, select one site only: the Audience menu unlocks with that site's segments and their member counts.
New push
Audience (with a single site selected)
Sports readers (12,480) ▾Geo targeting
Every subscriber automatically receives the system tag geo with their country (e.g. geo = IT), detected from the browser time zone at subscription. No code needed: the data is already there for everyone.
Example 1: a push for one country only
Typical scenario: a site with international readers. A promotion valid in one country, or a national service announcement, makes no sense for the others, and every irrelevant push burns the patience of whoever receives it.
- Sites → Audience: the "one-click geo audiences" block lists your subscribers' real countries with counts. Click + Italy: audience created, members already in.
- New push → select that site only → pick Italy in the Audience menu → send.
New push
Audience (with a single site selected)
Italy (44,102) ▾Title: Train strike on Thursday: the guaranteed time slots
The push reaches the 44,102 Italian subscribers. The 1,715 abroad are not disturbed.
Example 2: ZIP codes and cities (local targeting done right)
To go below country level (ZIP, city, region) automatic detection is not enough: anyone promising ZIP codes "from the browser" is estimating from the IP address, with huge errors. The accurate path is tagging where your site actually knows the data because the user provided it. The classic example is a local news portal with a "weather in your area" box or edition preferences:
<!-- when the user picks their area in a form -->
<script>
document.querySelector('#area-form').addEventListener('submit', function () {
natom.tag('zip', document.querySelector('#zip-field').value)
})
</script>
<!-- or on the pages of a local edition -->
<script>natom.tag('edition', 'brooklyn')</script>
From there, ZIP codes and editions appear in the "one-click audiences from tags" block with counts, and "Local news: Brooklyn" becomes a push that reaches Brooklyn readers only. It is the most accurate method there is, because the data comes from the user, not from a guess.
Audiences + RSS: automatic segmented pushes
This is where the pieces click together and the platform starts working by itself. If you connect your site's RSS feed, the "route to audiences by category" option makes every new article become a push targeted at its own readership, with nobody ever pressing a button.
How the routing thinks
When an article is published, Natom reads its categories from the feed and converts them with the same tag convention (lowercase, spaces become underscores, cat_ prefix). Then it looks for the audience filtering on that tag:
| Category in the feed | Tag looked up | Who gets the push |
|---|---|---|
| Sports | cat_sports | the "Sports" audience, if it exists |
| Higher Education | cat_higher_education | the matching audience, if it exists |
| Local news (no audience created) | cat_local_news | all subscribers (fallback) |
Two behaviors worth knowing: with multiple categories, the first one with a matching audience wins; if none matches, the push goes to everyone, so no article is ever left without a readership.
Setting it up, once
- Your template tags readers by category (the WordPress line above). Within days, audiences populate on their own as people read.
- You create the audiences from the "one-click from tags" block: Sports, Politics, Economy... one click each.
- You connect the feed from the site's RSS button, with automatic sending and routing enabled:
RSS: yoursite.com
| Feed | Auto-send | Audience | Every |
|---|---|---|---|
| yoursite.com/feed | yes | by category | 15m |
☑ send new articles automatically
☑ route to audiences by category
What happens next, every day
Your newsroom publishes as it always has. Natom checks the feed, and for every new article:
New article in the feed · category Sports
"Derby postponed for bad weather: the new dates"
↓ push created and sent automatically to
Audience: Sports (12,480 subscribers) · the other 33,337 are not disturbed
The compounding benefit over time: every reader receives their own topics only, CTR climbs, unsubscribes drop, and the newsroom never had to learn a new tool. Prefer supervision? Turn auto-send off: articles arrive as drafts already routed in the Campaigns section, and you approve them with one click.
Frequently asked questions
Can a subscriber belong to multiple audiences?
Yes, and it is the desired behavior: tags accumulate and so do memberships. Someone reading both sports and politics receives pushes for both topics.
What about subscribers with no tags?
They remain reachable through pushes to "All subscribers". Audiences never cut anyone off the main channel: they add precision, they do not remove reach.
Do audiences cost extra?
No. They are included in the plans that feature them, with no per-send costs whatever the segment size.
Can I delete an audience?
Yes, from the Delete button in the Audience window. Subscribers and their tags are untouched: only the grouping disappears.