Skip to main content

Knowledge Domain Database - Marketing & SEO

How does the domain work before writing a line of code? Choose a document from the left tree: each page explains part of the model.

Business Rules - Marketing SEO

This document lists the core business rules of the Marketing SEO domain, each with a unique BR-NNN code. Every rule is technology-independent and describes an invariant constraint on the behaviour of the domain.

---

BR-001 - CPA and CAC are distinct, non-interchangeable metrics

Code: BR-001 Name: CPA (per conversion) does not equal CAC (per acquired customer) Description: CPA (Cost Per Acquisition) measures the average cost per single conversion (lead, sale, install) as total spend / number of conversions. CAC (Customer Acquisition Cost) measures the cost to acquire a new paying customer and typically includes all marketing and sales costs. The two metrics are NOT interchangeable. Rationale: Avoid efficiency mis-evaluation: a conversion is not always a customer. Priority: HIGH Actors: Marketing Manager, Analytics System Traceability: glossary.md CPA, CAC; D-37-05 (CPA vs CAC disambiguated).

---

BR-002 - ROAS and CPM expressed as integer permille

Code: BR-002 Name: ROAS and CPM are stored as INTEGER permille Description: ROAS (Return on Ad Spend) and CPM (Cost Per Mille) are expressed as integers in permille to avoid floating point: e.g. ROAS 4.00x = 4000 ‰ (4000/1000), CPM 1.25 = 1250 ‰. Calculations and comparisons run on integers. Rationale: Avoid rounding errors and unit ambiguity in advertising calculations (D-37-05). Priority: HIGH Actors: Analytics System, Marketing Manager Traceability: glossary.md ROAS, CPM; D-37-05 (ROAS/CPM INTEGER permille).

---

BR-003 - Every campaign has an objective and a primary metric

Code: BR-003 Name: A Campaign defines objective and primary metric before activation Description: A Campaign cannot be activated without a declared objective (awareness, lead, sale) and a coherent primary metric (e.g. CPM for awareness, CPA for conversion, ROAS for sale). The objective determines the evaluation metric. Rationale: Ensure measurability and comparability of campaigns. Priority: HIGH Actors: Marketing Manager, Analytics System Traceability: state-machines/campaign-lifecycle.md; events/domain-events.md CampaignLaunched.

---

BR-004 - SEO content with explicit search intent

Code: BR-004 Name: Every SEOContent is associated to a search intent and target keywords Description: An SEOContent must declare the served search intent (informational, navigational, transactional, commercial) and the target Keyword. No content is published without an intent-keyword mapping. Rationale: Align content to real demand and improve relevance in search engines. Priority: MEDIUM Actors: SEO Specialist, Content Creator Traceability: glossary.md (search intent, keyword); events/domain-events.md ContentPublished.

---

BR-005 - A/B test with a single variable and significance

Code: BR-005 Name: An ABTest isolates one variable and declares a result when significant Description: An ABTest compares two variants changing a single variable at a time and declares a winner only on reaching the planned statistical significance. No winners on insufficient samples. Rationale: Avoid wrong conclusions from statistical noise; optimise on reliable grounds. Priority: MEDIUM Actors: Marketing Manager, Analytics System Traceability: glossary.md (A/B test); events/domain-events.md ABTestWinnerIdentified.

---

Code: BR-006 Name: Conversion tracking respects consent and privacy Description: Tracking of ConversionRecorded and audience data respects GDPR/ePrivacy principles: consent basis for non-strictly-necessary cookies/trackers, minimisation and purpose. Descriptive model rule, not legal advice. Rationale: Ensure data-driven marketing complies with the European privacy framework. Priority: HIGH Actors: Marketing Manager, Analytics System Traceability: GDPR/ePrivacy; D-37-05 (descriptive-only); events/domain-events.md ConversionRecorded.

---

BR-007 - Exhausted budget suspends delivery

Code: BR-007 Name: Reaching the budget suspends campaign delivery Description: When a Campaign exhausts its allocated budget (BudgetExhausted), delivery is suspended and the campaign moves to paused; no further spend is allowed without a new allocation. Rationale: Control ad spend and protect the overall budget. Priority: HIGH Actors: Marketing Manager Traceability: state-machines/campaign-lifecycle.md; events/domain-events.md BudgetExhausted.

---

BR-008 - Engagement and funnel measured per stage

Code: BR-008 Name: The EngagementScore is computed and attributed to a FunnelStage Description: An audience EngagementScore is computed on defined signals and attributed to a FunnelStage (awareness, consideration, decision). Progression between stages is measured, not assumed. Rationale: Measure funnel effectiveness and drive nurturing. Priority: MEDIUM Actors: Analytics System, Marketing Manager Traceability: glossary.md Marketing funnel; events/domain-events.md EngagementScoreComputed.

---