Skip to main content

App > Design > LiveOps > Campaigns

Create and manage LiveOps campaigns that deliver targeted scenario-based experiences to player segments

Written by Jason Liang

The App > Design > LiveOps > Campaigns page is where you create and manage LiveOps campaigns. A campaign is a time-bounded, targeted event that automatically enrolls players and presents them with one of several configurable scenarios. Each scenario can override global properties, cash product prices, and item pricing — allowing you to run A/B tests, seasonal promotions, or personalised offers without deploying new app builds.

When a player triggers a campaign (on login or registration), brainCloud randomly assigns them to a scenario according to the weighted allocation you configure. The control scenario (_) acts as the baseline, representing the default experience. All other scenarios represent variations you want to test or run alongside it.

Campaigns List

The main table lists all campaigns for your app with the following columns:

  • Campaign ID — the unique alphanumeric code identifying the campaign (up to 15 characters, uppercase).

  • Name — the human-readable campaign name.

  • Scenarios — the number of scenarios configured for the campaign, including the control scenario.

  • Purpose — an optional description of what the campaign is for.

  • Start — the campaign's scheduled start date and time. Hovering shows both local and UTC times.

  • Duration — how long the campaign runs, calculated from Start to End.

  • Status — whether the campaign is currently Enabled or Disabled.

Use the Search box to filter by Campaign ID or Name. Click any row to open the details panel on the right, which shows a summary of the campaign's configuration. From the panel you can View, Edit, Enable/Disable, or Delete the campaign.

Click New Campaign... in the toolbar to create a new campaign.

Creating / Editing a Campaign — Basic Tab

The campaign dialog has three tabs: Basic, Scenarios, and Campaign JSON. When creating a new campaign, fill in the Basic tab first, then click Save & Continue to proceed to Scenarios.

Enabled — toggle switch to activate or deactivate the campaign. A campaign must be enabled for it to enroll players. You can leave a campaign disabled while you configure it and enable it when ready.

Name (required) — a descriptive label shown in the portal. Up to 50 characters.

Campaign ID (required, set at creation only) — a unique identifier used internally. Must contain only letters, numbers, underscores, and dashes; maximum 15 characters; automatically converted to uppercase. The ID cannot be changed after the campaign is saved, so choose it carefully.

Purpose — an optional free-text description of the campaign's goal (e.g. "Black Friday sale — test 20% vs 30% discount on gems").

Start At / End At (required) — the date and time window during which the campaign is active. End must be on or after Start. Hovering over the fields shows durations in human-readable format (e.g. "5 days 3 hours 45 minutes"). Check All day to automatically set Start to 00:00:00 and End to 23:59:59 on their respective dates without needing to enter times manually.

Auto-enroll target — determines which players are eligible for this campaign:

  • All Players — every player who meets the enrollment trigger is eligible.

  • Users in a Specific Segment — only players who belong to the selected segment are eligible. A Segment Code dropdown appears; select the segment you want to target. Segments are configured under App > Design > Segmentation > Segments.

Trigger — the event that enrolls eligible players into the campaign:

  • LOGIN — the campaign is applied when any eligible player logs in (both new and returning players). Use this for broad, ongoing campaigns such as seasonal sales or permanent A/B tests.

  • REGISTRATION — the campaign is applied only when a new player registers for the first time. Use this for new-player onboarding experiments, welcome offers, or first-purchase promotions.

Scenarios Tab

Scenarios are the variations that get served to players enrolled in the campaign. brainCloud randomly assigns each enrolled player to one scenario based on the allocation weights you set, and tracks analytics per scenario so you can compare their effectiveness.

The Control Scenario (_) — every campaign includes a built-in control scenario with the code _. This represents the default, unmodified experience — no overrides are applied to players in the control group. Its allocation is automatically calculated as 100 minus the sum of all other scenario allocations. You cannot delete or directly edit the control scenario's allocation.

The scenarios table shows:

  • Scenario ID — the scenario's unique code.

  • Purpose — optional description of what this scenario tests or offers.

  • Global Property Overrides — number of global property values overridden for this scenario.

  • Cash Products — number of cash product price overrides in this scenario.

  • Items — number of item/bundle price overrides in this scenario.

  • Allocation % — the percentage of eligible players assigned to this scenario. Edit this value inline. All non-control allocations must sum to at most 100%; the remainder is automatically assigned to the control scenario.

A banner displays an error if allocations don't add up correctly. The Save button is blocked until the allocations are valid.

You can have up to 10 scenarios per campaign (including the control). Click Create scenario... to add a new one, or use the Clone icon on an existing scenario to duplicate it as a starting point. Click the Edit icon to open the Scenario dialog.

Configuring a Scenario

The Scenario dialog has four tabs: Global Properties, Cash Products, Items / Bundles, and Scenario JSON. A scenario must have at least one override configured across any of these tabs before it can be saved.

Purpose — an optional free-text description at the top of the dialog, e.g. "30% discount on all gem packs".

Global Properties Tab

Override specific global property values for players assigned to this scenario. This is a powerful way to tune game parameters (difficulty, reward multipliers, pricing tiers, feature flags) on a per-scenario basis without changing code or data for players outside the scenario.

The table shows each overridden property's Name, Category, the Default Value (or another scenario's value for comparison), your Override value, and a Description. Use the source comparison dropdown to switch the reference column between the default (_) and any other scenario in the campaign — useful for spotting how your overrides differ from another variant.

Click Add... to select properties from a multi-select dialog. Properties that no longer exist in the app are flagged with a red error icon — remove them before saving. Override values cannot be identical to the default value (they would have no effect).

Cash Products Tab

Override the price of cash products (IAP items) for players in this scenario. This lets you run targeted sales or limited-time offers on specific products without changing the default storefront for other players.

The table shows each product's icon, title, the List Price (default), and a Sale Price dropdown where you select the override price from the product's available price points. A Discount column automatically calculates and displays the difference:

  • None — the override price is the same as the list price (no effective change; this is flagged as a validation error).

  • X% off — the sale price is lower than the list price.

  • +X% Markup (shown in red) — the sale price is higher than the list price.

  • Limited Offer — the product has no default price but a scenario-specific price has been set, making it available only to players in this scenario.

  • Not For Sale — the product is hidden from players in this scenario.

Click Add... to select products, or the red remove icon to remove a product override.

Items / Bundles Tab

Override the in-app store prices of item catalog entries (virtual items and bundles) for players in this scenario. The table shows the item's icon, name, Definition ID, category, tags, the List Price (default buy prices per currency), and the Sale Price (override prices per currency).

Items that have been added but not yet priced are sorted to the top and highlighted with a red "Set Sale Price" indicator — you must set a price before saving. Click the Sale Price cell to open the pricing editor where you can set the override price per virtual currency. Items can also be set to FREE by clearing all currency prices.

Click Add... to choose items from a multi-select dialog, or the red remove icon to remove an item from the scenario.

Scenario JSON Tab

View and edit the raw JSON representation of this scenario. Use the Compare Scenario dropdown to load another scenario from the same campaign into a side-by-side diff view, making it easy to verify differences between variants. The JSON must be valid before saving.

Campaign JSON Tab

The Campaign JSON tab at the campaign level shows the full raw JSON for the entire campaign configuration. Use the Compare Campaign dropdown to load another campaign for side-by-side diff comparison. This is useful for auditing changes between campaign iterations or copying configuration between campaigns. The JSON must be valid before saving.

Campaign Lifecycle

A typical campaign workflow:

  1. Create — fill in the Basic tab, click Save & Continue.

  2. Add scenarios — create at least one scenario beyond the control, configure its overrides, and set allocation weights that sum to 100%.

  3. Save — click Save & Close to return to the campaigns list.

  4. Enable — when ready to go live, use the Enable action from the row panel. The campaign will begin enrolling players on its scheduled Start time.

  5. Disable — use Disable to pause the campaign at any time. Existing enrollments retain their scenario assignment; no new players are enrolled.

  6. Delete — permanently removes the campaign. If the campaign is currently enabled, a warning is shown that deletion will remove it for all currently enrolled players. This action cannot be undone.

Any tab that contains a validation error displays a red error icon on the tab label, and a banner reads "Fix errors in marked tabs to continue." The Save button is disabled until all errors are resolved.

Permissions

Accessing this page requires the DESIGN_LIVEOPS_CAMPAIGN permission. Write access is required to create, edit, enable/disable, or delete campaigns and scenarios. Users with read-only access can view all campaign and scenario details but all modification controls are disabled.

Did this answer your question?