Review every change.Before it goes live.
Send any AI suggestion to a reviewer in one click. Email notifications, side-by-side diffs, role-aware permissions, and a full audit trail — all built into QueryCatch.
Nothing AI-suggested goes live unreviewed
Send any AI-generated suggestion — meta title, description, blog draft, image alt text, product feed edit — to a reviewer with one click. They approve, you apply.
Full audit trail, by design
Every request records who asked, who reviewed, who approved, when it shipped, and the reason for any rejection. No more "who approved this?" Slack archaeology.
Role-aware permissions
Reviewers approve, requesters cancel, admins ship. Self-review is blocked. Merchant feed approvals require admin sign-off because they touch live commerce data.
Six resource types covered today
Every AI feature that produces a change to your live site flows through the same approval queue.
Meta titles
Approve AI-rewritten meta titles for WordPress and Shopify items before they replace the live tag.
Meta descriptions
Same flow for descriptions — keep the search-snippet copy under editorial control.
Blog drafts
A junior writes the AI-assisted draft, a senior reviews, an admin ships. Conversation lives next to the diff.
Blog topics
Get sign-off on the brief — title, focus keywords, outline — before anyone spends time writing the body.
WordPress image SEO
Bulk image alt text, captions and titles flow through the same review queue as everything else.
Merchant Centre product edits
Title, description, brand, colour, age group, gender, sizes — all admin-gated because Google Merchant cares.
Request, review, apply — in four steps
Async by design. The requester and reviewer never need to be online at the same time.
Submit a request
From any AI suggestion, click "Request approval", pick a reviewer from your workspace, add an optional note, send. The reviewer gets an email and a ticket appears in their queue.
Reviewer sees the diff
The approval card shows the proposed change next to what’s currently live. No spreadsheets, no screenshots — just a side-by-side that loads in one click from the email.
Approve or request changes
One click to approve. Or request changes with a required reason — the requester gets emailed and can resubmit. Self-review is blocked at the database level.
Apply when you’re ready
Approval doesn’t mean shipped. The requester (or an admin for merchant data) clicks "Apply" when timing is right. Status moves to "applied" and the audit log timestamps it.
Slack threads vs structured approvals
If your current SEO sign-off process is a string of DMs, here's what changes.
Slack threads + Google Docs
- No audit trail — conversations scroll away
- No diff — reviewers guess what changed
- No role enforcement — anyone can ship anything
- No email notifications outside Slack
- No link between the decision and the live change
QueryCatch Approvals
- Permanent audit trail with timestamps and actor IDs
- Side-by-side diff loads from a one-click email link
- Database-enforced roles — self-review is impossible
- Email + in-app notifications for every state change
- Apply step ships the change directly from the approval
Built for the way SEO teams actually work
Whether you’re a 30-person agency or a team of one with a stakeholder.
Agencies running multi-client sites
Account managers stay in the loop without being a bottleneck. Junior strategists request, seniors review, admins ship — and every client deliverable is logged for the next QBR.
In-house SEO teams under brand governance
Brand or legal can sit in as reviewer for the resource types they care about (e.g. meta titles on legal pages). Everyone else moves at full speed on the rest.
Solo operators with stakeholder input
Even if you’re a team of one, looping in a CEO or client for sign-off becomes a single email and a single click. No more dragging copy into Google Docs threads.
Approvals come with Tickets, included
Every approval request automatically becomes a ticket assigned to the reviewer. So your approvals queue and your team’s work queue are the same queue — no second tool to check.
See how Tickets workFrequently asked questions
Honest answers about how Approvals actually work.
Which AI suggestions can be sent for approval?
Six resource types today: meta titles, meta descriptions, blog drafts, blog topics, WordPress image SEO (alt text, title, caption, description) and Google Merchant Centre product edits (title, description, brand, colour, age group, gender, sizes). New resource types are added as new AI features ship.
How does the reviewer find out a request is waiting?
Two ways. They get an email immediately when the request is created, with a one-click link straight to the diff view. They also see a new ticket appear in their tickets queue, automatically labelled as an approval request and assigned to them — because the Approvals and Tickets systems are linked.
Can the same person request and approve their own change?
No. Self-review is blocked at the database level — the constraint is enforced in SQL, not just in the UI. For Google Merchant Centre product edits, only profile admins are eligible reviewers because that data touches live commerce listings.
What if the reviewer rejects the request?
The reviewer must include a written reason when rejecting. The requester is emailed the reason and can resubmit a new request that links back to the original (parent request) so the audit trail shows the full back-and-forth.
Does an approval automatically apply the change?
No — and that’s deliberate. Approval moves the status to "approved" but the change isn’t live until someone clicks "Apply". This separates the editorial decision from the timing decision, which matters when you want to ship a meta change during a deploy window or coordinate a blog post with a launch.
What gets recorded for audit?
Every state change is timestamped against the actor: who created the request and when, who approved or rejected it (with the rejection reason if they did), who applied it, and who cancelled it if it never shipped. Both the proposed change and the live-at-the-time version are stored, so months later you can still answer "what was the meta title before we changed it on the 14th?" without digging through deploy logs.
Does the requester need to be online for the reviewer to act?
No. Approvals are async by design — the reviewer can approve or reject any time, the requester is emailed the outcome, and the apply step waits for them to come back. Built for distributed teams and async-first workflows.
How is this different from leaving a Slack message?
Slack messages don’t produce an audit trail, don’t link to a diff, don’t enforce role permissions, and don’t persist after the conversation scrolls. The Approvals system gives you all four — and turns the conversation into a ticket so it lives alongside the rest of your team’s work.
Simple Pricing
One Plan, Unlimited Potential
Start with our base plan and scale as you grow. No surprises, just value.
1 website • 2 users • All 20+ features included
Stop shipping SEO changes by Slack
Approvals are included in every QueryCatch plan. Set up your reviewers in minutes and never wonder who approved what again.