The WonderPush Developer Hub

Welcome to the WonderPush developer hub. You'll find comprehensive guides and documentation to help you start working with WonderPush as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Tags

Tag-based segmentation lets you target users based on tags you stick on them

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 9 months ago


Tags


Tag-based segmentation lets you target users based on tags you stick on them

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.