Marketing Engine¶
Status: Draft for review
Purpose¶
Own tenant marketing concepts independent of external ad providers: campaigns, offers, landing-page intent, attribution, conversion events, audience definitions and marketing automation rules.
Owns¶
- Marketing campaigns and objectives
- Offers/promotions as marketing artifacts (commerce discount execution remains Commerce)
- Campaign landing-page bindings
- UTM/source/medium/campaign attribution context
- Conversion-event taxonomy and attribution facts
- Marketing audiences/segments at platform abstraction level
- Campaign templates and automation definitions
- Marketing analytics aggregates
Non-goals¶
It does not own Meta/TikTok/provider-native campaign identifiers/credentials, site page rendering, customer bookings or payment settlement.
API contract — functional surface¶
These are contract-level resources and operations, not final controller/file names.
| Method | Route | Primary actor | Contract intent |
|---|---|---|---|
| POST | /api/tenant/v1/marketing/campaigns |
Marketing Manager | Create platform marketing campaign. |
| PATCH | /api/tenant/v1/marketing/campaigns/{id} |
Marketing Manager | Update campaign lifecycle/configuration. |
| POST | /api/tenant/v1/marketing/offers |
Marketing Manager | Create offer metadata and link commerce promotion as applicable. |
| POST | /api/tenant/v1/marketing/landing-pages |
Marketing Manager/Editor | Create campaign landing-page binding. |
| GET | /api/tenant/v1/marketing/attribution |
Marketing Manager | Query attribution/conversion reporting. |
| POST | /api/public/v1/events/conversions |
Managed/Custom Site | Record permitted conversion event with attribution context. |
| POST | /api/tenant/v1/marketing/audiences |
Marketing Manager | Define reusable audience/segment abstraction. |
All mutating operations apply the global tenant, authorization, audit and idempotency rules where relevant.
Events¶
marketing_campaign.createdmarketing_campaign.activatedoffer.activatedconversion.recordedaudience.updatedautomation.triggered
Roles & responsibility matrix¶
Legend: A accountable, R responsible, C consulted, I informed, — none.
| Capability | Platform Admin | Tenant Owner | Tenant Admin | Specialist/Manager | Customer/Visitor |
|---|---|---|---|---|---|
| Marketing policy/templates | C | A | C | R | I |
| Campaign/offer creation | — | A | C | R | I |
| Attribution reporting | I | A | C | R | I |
| Landing page coordination | — | A | C | R | I |
Dependencies¶
- CRM Engine for customers/leads/consent
- Commerce Engine for booking/order conversions and discount execution
- Site Engine for landing pages/visibility
- Channel Engine for external advertising publication
- Platform Engine for entitlements
Internationalization Contract¶
- Campaigns may contain locale/market-specific copy and landing-page variants while referencing the same canonical offering/campaign.
- Locale and target market are separate fields; one does not imply the other.
- Marketing automation resolves customer-facing content using explicit campaign/recipient locale policy.
Security / isolation requirements¶
- Conversion collection observes consent/privacy settings.
- Attribution identifiers do not grant authorization.
- Audience exports honor provider/consent constraints.
Acceptance criteria¶
- Platform can answer campaign -> lead -> booking/order/revenue where data permits.
- Marketing campaigns exist independently of Meta/provider APIs.
- Landing pages can bind to managed pages or Custom-site destinations.