Skip to pricing
00 · Mission brief 00 · Mission
Mission 07 · 07/ Riyadh → MENA/One canvas

Marketing that ships,
without a release.

Every block, campaign, journey, and experiment inside your product, laid out in a single workspace. This page is a tour of that canvas. Scroll to move the camera.

Open the app ↗

Now onboarding pilot teams across MENA

Dynamic Block anatomy

01 · Dynamic Block · anatomy 01 · Block
assembled block
Get 5% back on groceries this month.
Check eligibilitydeeplink://offers/cb5
Audience · Salaried · 41,209
Go live · Fri 09:00 AST
Locales · EN · AR
Variants · A / B
#block_media · swap remotely
#block_title · editable · try typing
#block_subtitle · per locale
#block_cta · deep link + tracking
drag any piece · it springs back
336 × 318

Rendered in your app

02 · Rendered · in your app 02 · Device
09:415G · 100%
Good morning, Noura
Total balanceSAR 42,318.50
SendPayTop upCards
● LIVE
Cashback is backGet 5% back on groceries this month.Check eligibility
Alnahda BooksSAR 214.00
City RidesSAR 36.50

They chose mobile. You chose the message.

Edit the draft, hit publish, and watch it land in the phone as a new discovery card. No release, no review queue.

Draft
Release required · None Time to live · Seconds Rollback · One click
same block · mobile placement

Campaign spec sheet

03 · Campaign · spec sheet 03 · Campaign

Cashback Summer

LIVE · 39,002 users reached
Start · 01 JulEnd · 31 Jul
AudienceSalaried · 41,209
Payroll active in the last 60 days
Content1 block · 2 locales · 2 variants
Reuses Dynamic Block from exhibit 01
PlacementHome · above transactions
Mobile and web surfaces
Results so far214k impressions · 5.6% CTR
Refreshed every few minutes
Draft Review · Sara Live Wrap-up report
runs on a schedule, not a sprint
approvals + audit built in

Journey map

04 · Journey · drawn on the canvas 04 · Journey
TriggerSignup
New user created
ConditionKYC done
Within 48 hours
ConditionStalled
No KYC after 48h
MessageNudge
Cashback is back
GoalActive
First transaction ✓
waits for real behavior
steps reuse the same block

Experiments, locales, and CFlow Agent

05 · Experiments · locales · agent 05 · And more

Experiments A / B

A · "Check eligibility"CTR 5.6%
B · "Learn more"CTR 3.9%
A wins · 98% confidence · promoted

Localization EN · AR

Personal finance, made simpleEN
تمويل شخصي، ببساطةAR

CFlow Agent type it, it builds it

Launch a cashback push for salaried users, Arabic and English, this weekend.
CFlow: Drafted 2 blocks, 2 locales, audience "Salaried · 41,209", scheduled Fri 09:00 AST. Review and publish?
Map
Scroll or press → · drag anything

The canvas · launching 07·07

Your in-app marketing,
on one infinite canvas.

Blocks, campaigns, journeys, and experiments for banks and fintechs, laid out on the board your team already thinks in. No releases. No review queues.

Book a demo

That is the whole system.
One canvas. Zero releases.

Try the demo ↗

Keep scrolling for plans

End of the canvas tour. That is the whole system: one canvas, zero releases.

Choose your plan

Plans that scale with the mission.

Plan · 01

Free

For teams shipping their first controlled in-app campaigns.

$0 forever
  • Unlimited dynamic blocks
  • 2 to 5 active campaigns
  • Up to 100K users
  • In-app notifications + basic analytics
  • 1 to 2 team seats
Start free
Plan · 02

Pro

For product and marketing teams running always-on campaigns across journeys.

$50 /mo
  • Up to ~25 active campaigns
  • Apps up to 500K users
  • Advanced analytics, funnels, A/B testing
  • Up to 6 languages
  • Push up to 50K per send + SMS
Start with Pro
Plan · 03

Enterprise

For regulated teams with custom infrastructure, data, and governance needs.

Custom
  • Unlimited campaigns, users, languages
  • Full multi-channel: WhatsApp, SMS, push
  • Raw analytics export + API
  • Full audit logs + compliance export
  • Dedicated CSM + custom seats
Contact us
Full plan breakdown → Every limit, every feature, side by side
How we compare

Made for MENA. Not localized for it.

Time to first live campaign

From SDK install to content in front of users

ContentFlow
Same day
OSPush tools
~3 days
BMGlobal suites
4–8 weeks
{ }In-house
3–6 months
Capability Braze · MoEngage OneSignal Your own build
Arabic + RTLNative · side-by-side EN/AR previewAdd-on templatesBasic stringsYou build it
Publish without an app releaseEvery block, over the airSelected message typesPush + banners onlyFull release cycle
Time to first campaignMinutes after SDK installWeeks of onboardingDaysMonths
Journeys on a visual canvasBuilt inBuilt in · complex setupNoYou build it
Approvals + audit for banksBuilt inEnterprise tiersNoYou build it
AI agent that drafts campaignsCFlow Agent · type it, it builds itVariesNoNo
KSA / GCC data residencyAvailable on EnterpriseLimited regionsNoYours to manage
Starting price$0 · Pro at $50/moQuote-basedFree tier, usage-basedEngineering payroll

Based on public docs and pricing pages, July 2026 — verify against your own requirements.

Questions

Answers, before you ask.

ContentFlow lets your marketing and product teams create, target, and launch in-app campaigns without engineering involvement, so you reach users faster and free up developers for core product work.

Only once. After a lightweight SDK integration, every block, campaign, journey, and experiment is managed from the dashboard by non-technical teams.

Yes, natively. Full right-to-left rendering, per-locale content, and side by side Arabic and English previews are core features, not afterthoughts.

ContentFlow is designed for regulated environments: approval workflows, audit logs, role-based access, and data residency options are available on Pro and Enterprise plans.

Integrate once

One SDK, one slot. Then engineering is done.

import { ContentFlow, ContentFlowSlot } from '@contentflow/react-native';

ContentFlow.init({ apiKey: 'pk_live_…', locale: user.locale });

export function HomeScreen() {
  return (
    <>
      <Balance account={user.account} />
      <ContentFlowSlot placement="home.discovery" />
      <Transactions />
    </>
  );
}

Drop a slot where dynamic content should live. ContentFlow renders native components inside it — every block, campaign, journey, and experiment on the canvas arrives over the air.

Native rendering — real components, not webviews.
Graceful offline — a quiet slot, never a broken one.
iOS, Android, React Native, and web from one dashboard.
SDK v2.4 · integrate in an afternoon
Try it now

Don't take the tour's word for it — drive it yourself.

Sandbox workspace with demo data preloaded
Publish your first dynamic block in under two minutes
Invite a teammate and walk the approval flow
Open the live app ↗ No credit card · Free plan forever
Book a demo

See it on
your roadmap.

Thirty minutes with the team: your app, your compliance requirements, and your first campaign mapped out on the canvas. We reply within one business day.
Book a demo → Email us instead Riyadh · AST working hours · English + Arabic
Sign up now

Your first campaign is
ten minutes away.

Create a free workspace, drop a block on the canvas, and publish to your sandbox app today. No credit card, no sales call, no release.

Free plan forever · Upgrade to Pro at $50/mo when you scale