FIELD NOTES · ACCEPTANCE EXERCISES

Brand filters need test queries, not just a regex screenshot

A brand filter can accidentally include a service phrase or miss a spaced brand name, making the non-brand report misleading. Agree a finite classification set before comparing results. Keep the raw sample and the rule version together instead of silently changing the filter when the chart looks better.

Who should use this acceptance brief

Businesses reviewing bilingual search performance. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.

Source-bound platform fact

Search Console custom regex uses RE2 with partial matching by default; filters can affect totals and anonymised-query coverage. A local regex test is not a new GSC observation. Google: advanced filtering · Checked 16 October 2026.

Filled teaching example

Synthetic example, not a client case. Finite inputs, expected decisions and counterexamples follow; no live integration is claimed.

On narrow screens, scroll to read the complete table.

Input / caseCheck basisExpected decision
MadRaven Labapproved spaced brandbrand
madravenlab web designapproved joined formbrand
web design Melbourneno explicit brand formnot classified brand

Run the acceptance exercise

  1. Approve explicit brand spellings and known exclusions in both languages.
  2. Test positives, negatives and punctuation boundaries with a simple RE2-compatible expression.
  3. Apply the reviewed rule in the authorised report and preserve dates, property, device and actual returned totals.

Interpret the result and retain evidence

The fixture uses a deliberately small expression for MadRaven’s explicit spellings; it does not infer every misspelling or claim perfect non-brand classification. Unknown queries and anonymised rows remain outside the finite sample. Never subtract visible query-row totals from a chart and call the difference known non-brand demand.

Limits before implementation

No saved GSC filters or account configuration changed. JavaScript runs only the stated simple pattern, not arbitrary RE2 syntax.

Replay the finite example

Save both files in one folder and run with Node22.13 or newer. The example sends no network requests and changes no account or site. Filled inputs and expected outputs · Inspectable functions

node decision-check.mjs gsc-query-filter-contract.json