Data Rules — Governed Presentation Rules for FCR Data
The binding rules for how FCR data may be presented in any output — dashboards, advisor answers, client-facing emails, proposals, targeting lists. These exist because each one was learned the hard way (a mislabeled number or a fabricated fact reaching a client). Compliance owns this page; changes need their sign-off. The same rules are enforced in the agent instructions (CLAUDE.md) and, where possible, in worker-side gates.
Spend & revenue
Section titled “Spend & revenue”- Google Ads spend is RETAIL. All spend/cost figures from the ads endpoints are what the client pays FCR (inclusive of management fees). Never say “media spend” — always present as the client’s investment.
costPerConv = nullmeans zero conversions were recorded. Say “no conversions recorded”, never “no cost per conversion”. Never recalculate metrics by hand (e.g. spend ÷ conversions) — use the pre-computed fields as-is.active_clients.monthly_valuebundles DEA pass-through (ad-spend products ≈ €748K/mo) into MRR — summing it roughly doubles “MRR”. Route any €/MRR figure through the revenue tooling (/portfolio,/check-account,/revenue-bridge) which own the MRR-vs-DEA split.- DMS-SEA
monthly_valueis contracted budget, not revenue. Derive the FCR fee (retail − cost) and media spend from2_Ads_Data_Monthly, never from the contracted figure.
Keyword & market data
Section titled “Keyword & market data”- BQ keyword data (KEYWORD_INTELLIGENCE, CATEGORY_BENCHMARKS) is CUMULATIVE — not monthly. Never label BQ impression numbers as “monthly”. Use it to identify/qualify keywords and show trends (GROUP BY month). For actual monthly search volume, use Ahrefs keyword explorer only. CATEGORY_GBP_ACTIVITY is genuinely monthly — safe to present as monthly averages.
- Golden Pages subscriber counts ≠ FCR clients. The
gsc_goldenpagessource tracks keyword data for all GP directory listings in a category (e.g. 300 electricians), not just FCR subscribers. Use GP numbers for competitive density (“300 electricians on Golden Pages”), never for “businesses on our platform”.
Client-facing fabrication guards
Section titled “Client-facing fabrication guards”- Never invent a competitor or an external business URL. A competitor business and its URL may only be named if a tool returned it this session (Places/enrich-competitors place_id, Ahrefs organic competitors, or an InSites DF audit). Never construct a domain from a business name — Irish SME domains vary wildly (
.ie/.com/.co.uk/ different spellings / nonexistent). Confirmed failure on record: CA Recruitment, 2026-04-30 — three fabricated competitor domains were emailed to a client, who replied “the competitor links don’t work”. - Verify before publishing any external URL you did not get from a tool: crawl/fetch it; if it does not resolve, omit it. Never write “live / verified / active online” about a URL that was not actually fetched. Fewer verified competitors beats padding with guesses.
- Proof-point / “sites we built” URLs must come from our own data (the FCR portfolio vector index) — those are safe; competitor URLs are not.
- Never fabricate a record ID. HubSpot deal IDs, ticket IDs and project IDs in any output must come from a tool result this session; deterministic gates (
lib/deal-id-verify.js,lib/send-provenance.js) strip unverified links before anything is sent or saved.
Deal-stage interpretation
Section titled “Deal-stage interpretation”- Early-stage deals carry no qualified pitch. At
stage_group = "Early Stage"no qualifying conversation has happened —amount,deal_source,what_products_pitchedandforecast_categoryare deal-creation artifacts, not evidence of intent or a stalled conversation. The only reliable proof contact happened is logged engagements (real notes / calls / meetings). - Deal-source win rates are not comparable across sources. Assignment-type sources create a deal only after interest is aroused (high rate by construction); bulk/NOF sources create a deal per cold target (low rate). Rate reflects deal-creation timing, not effectiveness — use absolute wins/MRR instead.
Marketing reach & legal basis
Section titled “Marketing reach & legal basis”- Soft opt-in (Inteligo C-654/23, CJEU 13 Nov 2025) covers free-funnel/free-product users for email + SMS. It does NOT cover cold scraped contacts — never cite Inteligo for those; the B2B carve-out is the separate (colder) door. SMS counts as electronic mail under ePrivacy. Full analysis: eprivacy-soft-optin-inteligo-2025-11.md.
- Marketing writes go through governed surfaces only — n8n registered actions (or the three governed curation endpoints), every write idempotent and confirmed first. See Marketing Skills.
Ask the docsRAG over this site
Ask anything about the FCR Dashboard platform — architecture, BigQuery, the worker routes, billing rules, the LRC stack, scoring… Answers are grounded in this documentation, with source links.
How does the deal-brief refresh work? Which routes are Worker vs n8n? How is account health scored?