Subscriptions Overview
Subscriptions represent users who have opted in to receive push notifications from your app. Each subscription contains information about the subscriber's device, location, and engagement.
Accessing Subscriptions
- Navigate to your app
- Click Subscriptions in the app menu
Subscription List
View all your subscribers with filtering and sorting options.

Available Filters
| Filter | Description |
|---|---|
| Search | Search by user identity |
| Device Type | Desktop, Mobile, or Tablet |
| Browser | Chrome, Firefox, Safari, Edge, etc. |
| Country | Filter by country code |
| Status | Subscribed or Unsubscribed |

Table Columns
The subscription list displays the following columns:
| Column | Description |
|---|---|
| User Identity | Unique identifier for the subscriber |
| Device | Device type (Desktop, Mobile, Tablet) |
| Browser | Browser name |
| Country | Country the subscriber is located in |
| OID Cookie | External identifier captured by the OCM Reaper integration (stored on the subscription as the oid_cookie tag). |
| Lotame ID | Lotame Panorama ID captured via the Lotame integration (stored as the lotame_id tag). |
| Status | Subscribed or Unsubscribed |
| Sent | Total notifications sent |
| Clicked | Total clicks with click rate percentage |
| Last Seen | Most recent activity |
| Actions | Delete subscription |
Subscription Details
Each subscription record contains:

Identity
| Field | Description |
|---|---|
| User Identity | Unique identifier for the subscriber |
| Status | Current subscription status |
| Created At | When they first subscribed |
Device Information
| Field | Description |
|---|---|
| Device Type | Desktop, Mobile, or Tablet |
| Browser | Browser name (Chrome, Firefox, etc.) |
| Browser Version | Specific version number |
| OS | Operating system |
| OS Version | OS version number |
Location
| Field | Description |
|---|---|
| Country | Country the subscriber is located in |
Engagement Metrics
| Metric | Description |
|---|---|
| Notifications Sent | Total notifications received |
| Clicks | Total clicks with click rate percentage |
Categories
The detail view shows which delivery categories the subscriber is subscribed to, displayed as color-coded badges.
Timeline
The detail view includes a timeline section showing:
| Event | Description |
|---|---|
| Subscribed | When the user first subscribed |
| Last Seen | Most recent visit to your site |
| Last Clicked | Most recent notification click |
Tags
Custom key-value pairs for segmentation. Tags can be:
- Set programmatically via the SDK
- Set via API
- Captured automatically by platform integrations (see External Identifiers below)
- Used in segment rules
External Identifiers
If your OCM Push instance has the Lotame and/or Reaper (OID) integrations enabled, the SDK captures external identifiers from the browser and stores them on each subscription as tags:
| Tag Key | Source | Description |
|---|---|---|
oid_cookie | OCM Reaper | A shared OCM audience ID, loaded on the page by the standalone reaper script (ocm-push-reaper.js) and persisted on the subscription. |
lotame_id | Lotame Panorama ID | The cross-device identifier from the Lotame DMP, resolved from the page's consent context. |

These tags can be:
- Filtered and displayed in the subscriptions list (dedicated OID Cookie and Lotame ID columns).
- Used in Segments via
Tagrules (e.g.Tag "lotame_id" has value "<panorama-id>"). - Exported for downstream audience sync with your DMP/DSP.
The SDK only writes these tags when the integrations are enabled and the corresponding identifier is actually available in the browser. Users whose browsers block the reaper or Lotame scripts simply won't have those tags set.
Subscription Status
| Status | Description |
|---|---|
| Subscribed | Active, can receive notifications |
| Unsubscribed | User opted out, cannot receive |
How Users Become Unsubscribed
- User disables notifications in browser settings
- User clicks "unsubscribe" (if you provide this option)
- Push token expires (browser/device change)
- System detects invalid subscription
Managing Subscriptions
Deleting a Subscription
To remove a subscription:
- Find the subscription in the list
- Click the delete action
- Confirm deletion
Deleting a subscription is permanent. If the user wants to resubscribe, they'll need to opt in again on your website.
Bulk Management
For bulk operations, use the REST API. See the API documentation for:
- Listing subscriptions with filters
- Deleting subscriptions
- Updating tags
Understanding Your Audience
Device Distribution
Review your device type breakdown:
- Desktop - Traditional computers
- Mobile - Phones
- Tablet - Tablets
This helps you:
- Optimize notification timing
- Design appropriate content
- Understand reach
Browser Distribution
See which browsers your audience uses:
- Affects notification appearance
- Impacts feature availability
- Helps troubleshoot issues
Geographic Distribution
Country data helps with:
- Timing notifications appropriately
- Creating location-based segments
- Understanding your audience reach
Subscription Growth
Monitor subscription trends:
- New subscriptions over time
- Unsubscribe rates
- Net subscriber growth
A healthy push notification program has:
- Steady subscription growth
- Low unsubscribe rates
- Good engagement metrics
Tags and Custom Data
Tags allow you to store custom data on subscriptions for segmentation.
Common Tag Use Cases
| Tag Key | Example Value | Use Case |
|---|---|---|
plan | premium | Tier-based messaging |
category | sports | Content preferences |
signup_source | landing_page | Attribution |
last_purchase | 2024-01-15 | E-commerce triggers |
Setting Tags
Tags are typically set server-side from your own backend using the public subscription-tags endpoint. Pass the subscription's user identifier (the userId the SDK exposes after onSubscriptionChange) along with the tags you want to write:
POST /api/public/subscription-tags
Content-Type: application/json
{
"app_id": "YOUR-APP-ID",
"user_id": "the-userId-from-the-SDK",
"tags": {
"plan": "premium",
"signup_source": "landing_page"
}
}
For admin-side operations — including listing and tagging subscriptions in bulk from your internal tooling — use the authenticated dashboard API (POST /api/client/apps/{app}/subscriptions/{subscription}/tags).
The SDK itself does not expose a client-side setTag() method. Reading the subscription's userId on onSubscriptionChange and POSTing from your backend keeps custom tag values out of the browser, which is usually what you want for things like subscription plan or CRM IDs. Integrations that run purely in the browser (Lotame, Reaper / OID) are captured automatically — you don't need to tag those yourself.
Tips for Growing Subscribers
Increase Opt-Ins
- Use soft prompts before native prompts
- Explain the value of notifications
- Time prompts after user engagement
- Offer category selection
Reduce Unsubscribes
- Don't over-send
- Keep content relevant
- Allow frequency preferences
- Use segmentation
Improve Engagement
- Send at optimal times
- Personalize content
- A/B test messages
- Track and learn from metrics
Next Steps
- Create Segments based on subscription data
- Set Up Categories for subscriber preferences
- Configure Permission Prompts