How the Array of Objects Powers Campaigns

Prev Next

The Array of Objects is a structured data format designed to handle one-to-many relationships within a user profile. It ensures that multi-record data, such as product catalogs, subscription histories, or event logs, remains consistent, searchable, and actionable for both technical and marketing teams.

1. Structure Definition in the InOne Panel

Before any data ingestion occurs, the Array of Objects attribute and its associated object keys (including any nested keys) must be defined within the InOne panel.

Pre-defining the schema ensures all incoming data adheres to a consistent structure.

2. Data Ingestion via Upsert API

Data is managed and updated exclusively via the Upsert API.

  • Strict Mapping: Only the object keys predefined in the InOne panel are accepted during the update process.

  • Consistency: This exclusive path prevents unexpected data entries and ensures that the system preserves the integrity of the defined relational structure.

3. Relational Segmentation Logic

Segmentation operates directly on the individual object records, allowing for granular, relational filtering rather than broad user-level attributes.

  • Object-Level Evaluation: Filters are applied to the data within each object, ensuring precision in multi-record scenarios.

  • Logical Flexibility: The “Number of Objects” logic allows you to define thresholds (e.g., "Users with more than 3 active subscriptions").

  • Dynamic Matching: Attributes are evaluated in real-time based on the most recent data received via the Upsert API.

4. Deterministic Record Selection (Array Rules)

In high-concurrency environments where a user may possess multiple records matching a segment’s criteria, Array Rules remove ambiguity. These rules determine exactly which specific record is injected into a campaign, ensuring the most relevant data is used for personalization.

Use Case: Subscription Lifecycle Management

For example, for the Subscription Lifecycle use case, for your business needs, you want to:

  • Store multiple subscriptions per user

  • Update subscription status when changes happen

  • Segment users whose subscriptions are about to renew

  • Segment users who have cancelled subscriptions

  • Send personalized campaigns based on subscription plan

To store and activate the structured object data, follow the steps below:

  1. Create the Array of Objects Attribute

  2. Data Ingestion via Upsert API

  3. Use an Array of Objects in Segmentation

  4. Use an Array of Objects in Journey Message Personalization