Campaign
A campaign is the top-level executable unit inside ResultFly. It defines objectives, encapsulates one or more apps, and governs the lifecycle (draft, published, archived). Think of it as a cohesive marketing initiative that can span a flash promotion or run as a long-term engagement program.
A campaign provides the execution context for state, identity resolution, external events, and reward logic. All apps within a campaign operate against a shared campaign state and configuration, ensuring consistent behavior across touchpoints.
Everything you see in the ResultFly editor belongs to the active campaign. Here you can see 5 client apps, 1 server app, and 2 global blocks.
Campaigns are stateful by design. They can react to external events, user interactions, and time-based conditions, allowing the same campaign to evolve over time rather than being limited to a single launch moment.
A campaign can include multiple apps that share data. Global nodes and segments can also belong to the campaign, making them reusable across apps. Campaigns aggregate analytics, rewards, and integrations across every app they contain.
Apps within a campaign can be client-facing or server-side, but they all execute within the same campaign runtime. This allows backend logic, user interactions, and external data to influence each other in a controlled and observable way.
Campaigns act as the primary unit for governance and measurement in ResultFly. Access control, integrations, analytics, and reward distribution are defined at the campaign level, making it the natural boundary for ownership, auditing, and optimization.