Skip to main content

Problem

A campaign targets a segment that returns users when you run the segment query, but the campaign resolves to 0 recipients. Segmentation completes successfully and returns an accurate count of 0.

Instructions

Check whether a user with the Developer role created the campaign on a live app. On a live app, MoEngage limits campaigns created under the Developer role to users marked as test users or test devices. The campaign audience becomes the intersection of the selected segment and your test users, so a segment that contains no test users resolves to 0 recipients. In segmentation debug output, this restriction appears as an added moe_test_device = true filter on the query. To confirm, open the campaign and check the role of the user who created it. To reach the full segment, choose one of the following options:
  • Ask a user with a role that publishes to live users — Admin, Manager, or Marketer — to create the campaign, or to duplicate the campaign and send it.
  • Mark the users you want to reach as test users before you send the campaign from a Developer account. For more information, refer to Test Users.
  • Send the campaign from a test app when the intent is Developer testing.
When the campaign uses the campaign approval workflow, an approver who edits the campaign before approving it passes their own role to the campaign, which also changes who the campaign targets.

Example

A custom segment returns 146 users, but the campaign built on that segment reaches 0 recipients. A user with the Developer role created the campaign on a live app, so the test-device restriction applies. The segment contains no test users, so the intersection is empty. Duplicating the campaign from a Marketer account and sending it reaches all 146 users.