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 / case | Check basis | Expected decision |
|---|---|---|
| MadRaven Lab | approved spaced brand | brand |
| madravenlab web design | approved joined form | brand |
| web design Melbourne | no explicit brand form | not classified brand |
Run the acceptance exercise
- Approve explicit brand spellings and known exclusions in both languages.
- Test positives, negatives and punctuation boundaries with a simple RE2-compatible expression.
- 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