Tags are like labels you can stick on users. Common examples of tags include:
customer
, a tag added whenever one makes a purchase,economics
,football
, or as many categories a reader of a news outlet might want to subscribe to.
Adding or removing tags
Tags are extremely easy to manipulate. They can be added on the client-side by calling the appropriate methods of the WonderPush SDKs.
The following example illustrates how to add a tag, remove a tag, test a tag, list tags and remove all tags.
// Add the "international" and the "sport" tags
WonderPush.addTag("international", "sport");
// Remove the "economy" tag
WonderPush.removeTag("economy");
// Test the "media" tag
if (WonderPush.hasTag("media")) {
// Do something when user has "media" tag
}
// List all tags
Set<String> tags = WonderPush.getTags();
// Remove all tags
WonderPush.removeAllTags();
// Add the "international" and the "sport" tags
WonderPush.addTags(["international", "sport"])
// Remove the "economy" tag
WonderPush.removeTag("economy")
// Test the "media" tag
if (WonderPush.hasTag("media")) {
// Do something when user has "media" tag
}
// List all tags
let tags = WonderPush.getTags()
// Remove all tags
WonderPush.removeAllTags()
// Add the "international" and the "sport" tags
[WonderPush addTags:@[@"international", @"sport"]];
// Remove the "economy" tag
[WonderPush removeTag:@"economy"];
// Test the "media" tag
if ([WonderPush hasTag:@"media"]) {
// Do something when user has "media" tag
}
// List all tags
NSOrderedSet<NSString *> *tags = [WonderPush getTags];
// Remove all tags
[WonderPush removeAllTags];
window.WonderPush = window.WonderPush || [];
WonderPush.push(function() {
// Add the "international" and the "sport" tags
WonderPush.addTag("international", "sport");
// Remove the "economy" tag
WonderPush.removeTag("economy");
// Test the "media" tag
WonderPush.hasTag("media").then(function(hasTagMedia) {
if (hasTagMedia) {
// Do something when user has "media" tag
}
});
// List all tags
WonderPush.getTags().then(function(tags) {
// Use the tags variable
});
// Remove all tags
WonderPush.removeAllTags();
});
// Add the "international" and the "sport" tags
WonderPush.addTag("international", "sport")
// Remove the "economy" tag
WonderPush.removeTag("economy")
// Test the "media" tag
if (WonderPush.hasTag("media")) {
// Do something when user has "media" tag
}
// List all tags
let tags = WonderPush.getTags()
// Remove all tags
WonderPush.removeAllTags()
For adding server side, prefer using custom Properties
You cannot add server-side tags using the Management API because the synchronization between the servers and the devices' SDK is one-way, from SDK to the servers. This means that tags, if added via the Management API, will be overwritten during the next synchronization.
However, you can use a specific property that you manipulate only via the Management API and which you will ensure that it is never manipulated from the SDK.
Create a segment based on tags
Go to the segment creation page and click the Add criteria button.
In the first dropdown, select Tag:


You can then select or write one or more tags you wish to segment:


If you want to exclude tags instead of selecting tags, you can change the operator:


In the above example using tags foo
and bar
, using is one of will match users that are tagged foo
or tagged bar
, or both. Using is not one of on the contrary will match users that are neither tagged foo
nor tagged bar
.
Updated about a month ago
What's Next
Sending to a tag with the REST API |