The spreadsheet everyone lives by
Walk into almost any regulated marketing team — iGaming, consumer finance, insurance — and you will find a spreadsheet. It might be called the compliance checklist, the pre-flight sheet, or simply “the rules.” Each row is a promise: the logo must appear, the age warning must be present, the terms must be legible, this phrase must never be used, that link must point to the approved domain.
The spreadsheet is a genuinely good artifact. It captures institutional knowledge, it survives staff turnover, and it gives reviewers a shared definition of “done.” The problem is not the checklist. The problem is that a human being has to read it, hold every row in their head, and manually compare it against a rendered email — over and over, for every campaign, under deadline. That is where the model quietly breaks.
Why the manual checklist stops scaling
A checklist scales beautifully as a reference and terribly as a process. The moment the spreadsheet becomes the review mechanism itself, several failure modes show up at once:
- It is slow. Manually walking twenty or forty rows against a rendered email takes real time, and that time multiplies across variants, locales, and resends.
- It is inconsistent.Two reviewers reading the same row can reach different verdicts, especially on judgment-shaped items like “terms must be prominent.”
- It leaves no evidence.A ticked box is not proof. When a regulator or an internal auditor asks “show me you checked,” a green cell is not an answer.
- It is easy to skip.Under a launch deadline, a reviewer scanning quickly will miss the one row that matters — and nothing in the spreadsheet stops them.
- It hides content in images.Much of the risky text — bonus amounts, disclaimers, wagering terms — is baked into image assets, where a human skim and a naive text search both fail.
A ticked box is not an audit trail
The most expensive gap in the spreadsheet model is evidentiary. If you cannot reproduce what was checked, when, and what the email actually looked like at that moment, you are carrying compliance risk that no amount of diligent ticking removes.
The core idea: rows become rules
Automating the spreadsheet does not mean throwing it away. It means recognizing that every row is already a rule — a testable assertion about a rendered email — and giving each one a machine that can evaluate it deterministically. The spreadsheet stays as human-readable documentation. The rules become the thing that actually runs.
The rest of this guide is a concrete method for making that transformation — audit, map, build, run, and keep humans where they add the most value.
Step 1 — Audit and categorize every row
Start by reading the spreadsheet as an outsider. Most rows fall into a small number of categories, and naming the category for each row is the single most useful thing you can do before automating anything.
The categories you will find
- Required text— a specific phrase that must be present, such as an age restriction, a licensing statement, or a risk warning.
- Required asset or logo— a brand mark, a regulator badge, a responsible-gambling or safer-gambling logo that must be visible.
- Forbidden content— words, claims, or imagery that must never appear (“risk-free,” “guaranteed win,” superlatives you cannot substantiate).
- Link and domain rules— every link must resolve, must use HTTPS, and must point to an approved domain rather than a stray redirect or tracker.
- Prominence and legibility— the terms must be a minimum size relative to the headline; the disclaimer must not be buried in low-contrast grey.
- Layout and placement— the disclaimer sits near the offer, the logo appears above the fold, the footer carries the required legal block.
Tag every row before you touch a tool
Add one column to the spreadsheet: Category. Go row by row and label each one. Rows that resist a category are usually two rules pretending to be one — split them. This audit alone often surfaces duplicate, contradictory, or long-dead rows nobody has questioned in years.
Step 2 — Map each category to a rule type
Once every row has a category, mapping to an automated rule type is almost mechanical. The goal is a deterministic check: given a rendered email, the rule returns pass or fail with a reason and a piece of evidence.
Required text / disclaimer
Text-presence rule — matches the phrase in visible content, including text embedded in images.
Required logo / badge
Asset-detection rule — confirms a known brand or regulator asset is rendered and visible.
Forbidden word or claim
Prohibited-content rule — fails the run if a banned term or unsubstantiated claim appears.
Link must be approved
Link-validation rule — checks each URL resolves, uses HTTPS, and matches an allow-list of domains.
Terms must be prominent
Prominence rule — measures the size and contrast of terms relative to the headline against a threshold.
Placement / layout
Layout rule — confirms an element appears in the expected region of the rendered email.
The critical insight is that these checks run against the renderedemail — what a recipient actually sees — not the raw HTML. That is what lets a text-presence rule catch a disclaimer baked into a hero image, and what lets a prominence rule reason about the pixels rather than the markup.
Step 3 — Build a rule set that mirrors the spreadsheet
Now assemble the individual rules into a rule set that stands in one-to-one for the spreadsheet. Keep the mapping honest: each active row should correspond to exactly one rule, so anyone can hold the spreadsheet and the rule set side by side and see they say the same thing.
Structure the rule set the way your policy is structured
Regulated marketing rarely runs one universal policy. You will typically want a rule set per market, per brand, or per campaign type — because the required disclaimer in one jurisdiction is not the one required next door. Build reusable rules once (an approved-domain check, a required-logo check) and compose them into the rule sets that need them, rather than re-authoring the same logic five times.
In RuleRun, this is exactly the model: define individual rules, group them into a rule set that represents one complete compliance policy, and reuse the same rule across as many rule sets as apply. The spreadsheet you audited in Step 1 becomes the specification the rule set is built to satisfy.
Step 4 — Run every campaign automatically, with evidence
With a rule set in place, the review stops being a manual walk down a checklist and becomes a run. Submit the campaign — as a real email, an HTML template, or a rendered image — and the rule set is applied to the rendered output automatically. Every rule produces a verdict, and every verdict carries the evidence that produced it: an annotated screenshot showing the matched text, the detected logo, the failing link, or the measured size of the terms.
From ticked cells to an evidence-backed report
Instead of a green spreadsheet, each run yields a pass/fail record per rule plus screenshot and PDF evidence you can hand to an auditor or regulator.
This is the step that closes the evidentiary gap. A run is reproducible, timestamped, and tied to the exact rendered artifact that was checked. When someone asks “did we verify the age warning on the June resend,” the answer is a report, not a memory.
Automate the deterministic 80%
Most checklist rows are deterministic: a phrase is present or it is not, a link resolves or it does not, a logo is visible or it is missing. Those are exactly the rows that a tired reviewer skips under deadline, and exactly the ones a machine never tires of. Let automation own them completely.
Step 5 — Keep humans for the judgment calls
Automation is not a replacement for a compliance professional; it is a filter that hands them a shorter, better problem. Some rows genuinely require human judgment — whether a claim is misleading in context, whether tone crosses a line, whether an offer is fair to a vulnerable audience. Those do not belong to a deterministic rule, and pretending otherwise is how automation earns distrust.
The right division of labour is simple: the rule set catches every objective, repeatable check and flags anything that fails, while reviewers spend their attention on the interpretive questions the machine should never pretend to answer. Reviewers arrive at a campaign that has already passed the mechanical gate, with evidence in hand, and can focus entirely on judgment.
Change management: rolling it out without losing trust
Converting a spreadsheet into a rule set is a policy change, and policy changes need governance. A few practices keep the transition credible:
- Run in parallel first.For a few weeks, run the automated rule set alongside the existing manual review. Where they disagree, you learn something — either the rule is wrong or the reviewer was inconsistent. Both are worth knowing before you cut over.
- Version the policy.When a regulation changes, you change the rule set — and you want to know which version of the policy checked which campaign. Treat rule-set changes like code changes, with a record of what changed and when.
- Keep the spreadsheet as documentation. The human-readable checklist does not go in the bin. It becomes the plain-language reference that new team members read and that auditors can follow without needing to understand the tool. The rule set enforces it; the spreadsheet explains it.
- Assign an owner. Someone owns the mapping between spreadsheet and rule set, and keeps them in sync when either changes. Drift between the two is the fastest way to lose confidence in both.
How RuleRun turns a checklist into an enforceable policy
Everything above is achievable in principle with any sufficiently determined team. RuleRun exists to make it the default. You define rules that mirror your checklist rows — required text, required assets, forbidden content, link and domain rules, prominence and layout — and group them into rule sets that represent each market or campaign policy.
Because RuleRun checks the rendered email rather than the raw HTML, it catches the required text and logos even when they are embedded in images, verifies that links resolve and stay on approved domains, and reasons about text prominence the way a recipient would perceive it. Every run produces screenshot and PDF evidence, so the green tick you used to make by hand becomes an auditable record you can defend.
Key takeaways
- A compliance checklist is a good reference and a poor process — the failure is manual review, not the list itself.
- Every row is already a rule: a testable assertion about a rendered email.
- Audit and categorize rows first (required text, assets, forbidden content, links, prominence, layout), then map each category to a rule type.
- Build a rule set that mirrors the spreadsheet one-to-one, and run every campaign through it automatically.
- Let automation own the deterministic checks and capture evidence; reserve human reviewers for genuine judgment calls.
- Keep the spreadsheet as living documentation, version the policy, and run in parallel before cutting over.