Guide February 10, 2026 · 11 min read

How to Target Notifications to User Segments by Role, Plan, and Tenant

Not every notification belongs in every inbox. Learn how to send the right message to the right users by segmenting on role, plan tier, tenant, behavior, and custom attributes — with practical code examples for each approach.

Why Segment Notifications?

Broadcasting every notification to every user is the fastest way to train people to ignore your product. When a billing alert lands in a viewer's inbox or a free-tier user gets excited about an enterprise feature they cannot access, the result is noise — not engagement.

Segmented notifications solve this by matching messages to the users who actually need them. The benefits are immediate:

  • Relevance — users only see notifications that apply to their role, plan, or context. Every message feels intentional.
  • Reduced noise — fewer notifications per user, but each one matters. Notification fatigue drops and trust in your bell icon goes up.
  • Higher engagement — targeted messages see significantly higher click-through rates because they lead to actions users can actually take.

If you are building a B2B SaaS product with multiple plans, roles, or tenants, segmentation is not optional — it is the foundation of a usable notification system. For a deeper dive into segmentation theory, see our complete segmentation guide.

Common Segmentation Strategies

There are five primary ways to slice your user base for notification targeting. Most effective implementations combine several of these.

By Plan Tier (Free, Pro, Enterprise)

The most straightforward segmentation axis. Group users by their subscription level to ensure feature announcements, usage warnings, and upgrade prompts reach the right audience.

Example use cases:

  • Announce a new analytics dashboard only to Pro and Enterprise users
  • Send upgrade prompts to Free users approaching usage limits
  • Notify Enterprise users about SLA changes or compliance updates

By Role (Admin, Member, Viewer)

Within a single organization, different roles need different information. Admins care about billing and team management. Members care about project updates. Viewers need read-only summaries.

Example use cases:

  • Send payment failure alerts exclusively to admins and billing contacts
  • Notify team owners when a new member accepts an invitation
  • Alert security admins about permission changes or access revocations

By Tenant / Company (Multi-Tenant B2B)

In multi-tenant B2B products, you often need to reach every user within a single company. This is essential for multi-tenant notification delivery — maintenance windows, account-level changes, and org-wide announcements.

Example use cases:

  • Notify all users at Acme Corp about scheduled maintenance on their instance
  • Send a data migration notice to everyone in a specific tenant
  • Announce a custom feature rollout for a single enterprise customer

By Behavior (Active, Inactive, New)

Behavioral segments group users by what they have done (or not done) in your product. This powers lifecycle-driven notifications like onboarding nudges, re-engagement messages, and milestone celebrations.

Example use cases:

  • Guide new users (signed up < 7 days) through onboarding steps
  • Re-engage users who have not logged in for 14+ days
  • Celebrate active users hitting usage milestones

By Custom Attributes

Any property you can attach to a user becomes a segmentation dimension: company size, industry, country, language, referral source, or any domain-specific field.

Example use cases:

  • Send GDPR compliance updates only to EU-based users
  • Deliver industry-specific best practices to fintech or healthcare customers
  • Target large enterprise accounts with dedicated support announcements

Setting Up User Attributes

Before you can target segments, you need to attach attributes to your users. This is done client-side after initializing the Notilayer widget:

// Initialize with the user's identity
window.Notilayer.init({
  appId: 'YOUR_APP_ID',
  userId: user.id,
});

// Attach attributes for segmentation
window.Notilayer.setAttributes({
  // Plan tier
  plan: 'pro',

  // Role within the organization
  role: 'admin',

  // Tenant / company identifier
  tenantId: 'acme_corp',
  companyName: 'Acme Corporation',

  // Behavioral / lifecycle
  signupDate: '2026-01-15',
  onboardingComplete: true,
  projectCount: 8,
  lastActiveDate: '2026-02-09',

  // Custom attributes
  companySize: '50-200',
  industry: 'fintech',
  country: 'US',
});

Attributes can be strings, numbers, booleans, or dates. Call setAttributes whenever a value changes — after a plan upgrade, role reassignment, tenant switch, or any significant action. Stale attributes mean misrouted notifications, so keep them fresh.

You can also set attributes server-side via the API if you prefer to manage user properties from your backend. Both approaches feed into the same segmentation engine.

Sending to Segments

Once attributes are in place, you can target segments via the Notilayer API. Here are examples for each segmentation strategy.

Target by Plan Tier

// Send to all Pro and Enterprise users
const response = await fetch('https://api.notilayer.com/v1/notify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
  },
  body: JSON.stringify({
    segmentId: 'seg_pro_enterprise',
    title: 'New: Advanced Analytics Dashboard',
    body: 'Your plan now includes real-time analytics. Check it out.',
    url: '/analytics',
  }),
});

Target by Role

// Send billing alert to admins only
const response = await fetch('https://api.notilayer.com/v1/notify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
  },
  body: JSON.stringify({
    segmentId: 'seg_admins',
    title: 'Payment method expiring soon',
    body: 'Your card ending in 4242 expires next month. Update it to avoid interruption.',
    url: '/settings/billing',
  }),
});

Target by Tenant

// Send maintenance notice to all users in a tenant
const response = await fetch('https://api.notilayer.com/v1/notify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
  },
  body: JSON.stringify({
    segmentId: 'seg_tenant_acme_corp',
    title: 'Scheduled maintenance: Feb 15, 2am-4am UTC',
    body: 'Your instance will be briefly unavailable during this window.',
    url: '/status',
  }),
});

Target by Behavior

// Send onboarding tip to new users who haven't completed setup
const response = await fetch('https://api.notilayer.com/v1/notify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
  },
  body: JSON.stringify({
    segmentId: 'seg_new_incomplete_onboarding',
    title: 'Finish setting up your workspace',
    body: 'You are 2 steps away from getting the most out of your account.',
    url: '/onboarding',
  }),
});

Combine Multiple Criteria

// Target enterprise admins specifically (role + plan combined)
const response = await fetch('https://api.notilayer.com/v1/notify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
  },
  body: JSON.stringify({
    segmentId: 'seg_enterprise_admins',
    title: 'SSO configuration now available',
    body: 'Set up SAML SSO for your organization in Settings.',
    url: '/settings/security/sso',
  }),
});

Real-World Examples

Here is how segmentation plays out in practice across four common SaaS scenarios.

Feature Announcement to Pro Users Only

You have shipped a new reporting module available on Pro and Enterprise plans.

Without Segmentation

Sent to all 12,000 users. Free users click through, hit the upgrade wall, and leave frustrated. 75% of notifications wasted on users who cannot use the feature.

With Segmentation

Sent to 3,000 Pro and Enterprise users. Higher click-through, immediate adoption. A separate, tailored upgrade prompt goes to Free users later.

Billing Alert to Admins Only

A credit card on file is about to expire and payment will fail.

Without Segmentation

Every team member sees the billing warning. Members and viewers cannot do anything about it and panic unnecessarily. Creates confusion and support tickets.

With Segmentation

Only admins and billing contacts see the alert. They have the permissions to fix it. The rest of the team is never bothered.

Maintenance Notice to All Users in a Tenant

Acme Corp's dedicated instance needs a 2-hour maintenance window.

Without Segmentation

No clean way to reach only Acme Corp users. Either you notify everyone (irrelevant for 99% of users) or build custom logic per tenant in your backend.

With Segmentation

Target the tenant segment for Acme Corp. All 47 of their users get the notice. Nobody else is affected. One API call.

Onboarding Tip to New Users Only

Users who signed up in the last 5 days have not created their first project yet.

Without Segmentation

"Create your first project!" goes to everyone, including power users with 50 projects. Feels tone-deaf and erodes trust in your notification system.

With Segmentation

Targeted to new users (signup < 7 days) with zero projects. Helpful, contextual, and timely. Exactly the nudge they need.

Segmentation in Notilayer

Notilayer is built from the ground up for segment-based notification delivery. Here is how it works end to end:

1. Attach attributes via the SDK or API

Use setAttributes on the client or the server-side API to tag users with plan, role, tenantId, and any custom properties. Attributes are synced in real time.

2. Define segments in the dashboard

Create segments using attribute-based rules with AND/OR logic. For example: role = "admin" AND plan = "enterprise" or tenantId = "acme_corp". Segments update dynamically as user attributes change.

3. Target segments when sending

Pass a segmentId in your API call to send notifications only to users who match that segment. No backend filtering logic needed.

4. Deliver to the in-app inbox

Notifications land in each user's in-app notification inbox in real time. Users only see what is relevant to them. Read states, click tracking, and engagement metrics are tracked per segment automatically.

For feature announcements, billing alerts, tenant-wide notices, or onboarding nudges, the workflow is always the same: set attributes, define segments, send. No custom routing logic in your backend.

Key Takeaway

Targeting notifications by role, plan, tenant, and behavior is what turns a notification system from a broadcast tool into a precision instrument. Use setAttributes to tag every user with the properties you care about, build segments with simple rules, and send with a single API call. The result: higher engagement, less noise, and a notification experience that users actually trust.

Related Articles

Start Sending Targeted Notifications

Segment users by role, plan, and tenant. Deliver the right message to the right inbox. Free plan included.