End-to-end workflows
How work moves through Marketing from start to finish, who does each step and what the system does in response.
On this page (8)
Campaign to cash: spend to gross profitConsent first: opt-in, audience, opt-out respectedAutomation rule fires on an ERP eventCustomer journey with a wait and a reply checkAttribution models comparedConversion events to an ad platform (sandbox)Feature switch and permissions round tripTime-based triggers: overdue invoice reminder
Campaign to cash: spend to gross profit
Who: Marketing manager; Omnichannel agent; Sales user; Accountant
| # | What the person does | What the system does |
|---|---|---|
| 1 | Campaigns > New: 'Ramadan Offers 2026', Lead generation, Instagram + WhatsApp, budget 15,000 AED, utm_campaign ramadan26, Status Draft | CMP-000n created |
| 2 | Ad Accounts > New Facebook account (Manual entry, pixel id); Ad Campaigns > New lead campaign under the campaign; Ad Sets > New; Creatives > New | Structure tab shows the full tree |
| 3 | Delivery & Spend: import a CSV of 7 days (campaign = ramadan26), total spend 3,500 | '7 added'; campaign Spend 3,500 |
| 4 | Omnichannel > Leads > Add lead with utm_campaign ramadan26 and consent ticked; convert to a CRM lead | Attribution row for the campaign; Leads tile 1; consent Opted in |
| 5 | CRM: qualify, create a quotation for 10,000 AED net, confirm the order; Sales: invoice it and post | Campaign Orders 1; Revenue 10,000 after posting |
| 6 | Finance: receive and allocate payment of the invoice | Collected = 10,000 (net share) |
| 7 | Analytics > Campaign ROI; Dashboard | ROAS 2.86 (10,000 / 3,500); Profit ROAS = gross profit / 3,500; dashboard top campaign is this one |
Consent first: opt-in, audience, opt-out respected
Who: Marketing manager; Omnichannel supervisor
| # | What the person does | What the system does |
|---|---|---|
| 1 | Consent > Record consent: A opted in (WhatsApp, Marketing), B opted out, C nothing | 3 states shown; history entries |
| 2 | Audiences > New static audience; add A, B, C | '1 of 3 reachable (consented)' |
| 3 | Omnichannel > WhatsApp > Broadcasts: send a marketing template to the audience (sandbox number) | Only A receives it; B and C skipped with the reason. Blocked without a WhatsApp sandbox |
| 4 | A replies 'STOP' | A becomes Opted out on WhatsApp for Marketing, Promotions, Newsletter; source 'whatsapp keyword' |
| 5 | Rebuild the audience; send another broadcast | '0 of 3 reachable'; nobody receives it |
Automation rule fires on an ERP event
Who: Marketing manager; Sales user
| # | What the person does | What the system does |
|---|---|---|
| 1 | Rules > New: When Lead created; Source contains Instagram; THEN Add tag 'ig', Set priority High, Create CRM task 'Call' due 0 days, Notify salesperson | Saved as draft |
| 2 | Create a CRM lead with Source Instagram Lead Ads before activating; scan | Nothing happens (draft) |
| 3 | Activate the rule; create a second lead; Settings > Scan ERP events now | Lead 2: tag ig, priority High, task for the owner due today (Dubai), owner notified |
| 4 | Scheduled Actions > What ran | 4 lines 'done' for lead 2; Rules list Runs 1, Last run set |
| 5 | Pause the rule; create lead 3; scan | No actions for lead 3 |
Customer journey with a wait and a reply check
Who: Marketing manager
| # | What the person does | What the system does |
|---|---|---|
| 1 | Customer Journeys > New: trigger Lead created (Source contains Website); Action Add tag 'welcome'; Wait 2 minutes or until reply; Condition 'Customer replied since the wait' is set; Yes: Stop; No: Assign lead owner (round robin) then Notify salesperson; Save; Activate | Status active |
| 2 | Create a CRM lead with Source Website Form; scan | Run starts: tag added; status waiting; Scheduled Actions shows it with Runs at = +2 min |
| 3 | Wait 3 minutes (scheduler on) | Run continues on the No path: owner assigned, notification sent; status completed |
| 4 | Create the same lead's event again (re-entry off) | No second run |
| 5 | Pause the journey with a waiting run; wait past wake time; Activate | Run moves only after activation |
Attribution models compared
Who: Marketing manager; Accountant
| # | What the person does | What the system does |
|---|---|---|
| 1 | Two campaigns A and B with delivery 1,000 each | Spend shown on both |
| 2 | One lead touched by A, then by B (two captures in Omnichannel); invoice 6,000 AED posted | Attribution shows 2 touches |
| 3 | Settings model First touch; open ROI | A: 1 lead, 6,000 revenue; B: 0 |
| 4 | Model Last touch | B gets it |
| 5 | Model Linear | A and B 0.5 lead and 3,000 each; totals unchanged |
Conversion events to an ad platform (sandbox)
Who: Marketing manager
| # | What the person does | What the system does |
|---|---|---|
| 1 | Ad Accounts: Facebook sandbox account with pixel id and test token, Status Connected | Saved; token sealed |
| 2 | Settings > Send conversions to: facebook; Save | Saved |
| 3 | Capture a Facebook-attributed lead in Omnichannel; scan | Conversion Tracking: Lead Created, Status sent (or failed with code) |
| 4 | Confirm its order and post the invoice; scan | Order Confirmed and Invoice Posted events; Meta Events Manager test events show them hashed. Blocked without a Meta sandbox |
Feature switch and permissions round trip
Who: Company admin; Marketing viewer
| # | What the person does | What the system does |
|---|---|---|
| 1 | Give a test user the Marketing viewer set (marketing.view and the *.view codes only) | User sees the Marketing menu |
| 2 | As that user open every screen; try New on Campaigns, Record consent, New rule, Save settings | Screens open; every change refused 'You do not have permission for this action.' |
| 3 | As admin switch Automation and journeys Off | Automation menu gone; rule save refused 409 |
| 4 | Switch it back On | Menu returns; rules unchanged |
Time-based triggers: overdue invoice reminder
Who: Marketing manager; Accountant
| # | What the person does | What the system does |
|---|---|---|
| 1 | Rule: When Invoice overdue; THEN Send email subject 'Payment reminder' (customer has Email consent for Transactional - set purpose via API) and Notify salesperson | Rule active |
| 2 | Post a test invoice with due date yesterday (Dubai) and no payment | Invoice open and overdue |
| 3 | Wait for the daily run (or restart the test server) | Invoice overdue fires once: email logged, notification sent; next day no second event |
| 4 | Pay the invoice in full | No further overdue events for it |