How to Analyze Search Console Data with Regex
About 24 minutes
We've learned a lot of regex by now. But if you stop here, you've learned to build good filters. You haven't yet learned to use regex as an SEO. Today we tie everything together and walk through a real analysis, from the first question to something we can act on.
Say you run an ecommerce store called Tech House. You look at Search Console and see that organic clicks went up over the last 3 months, from 13,000 to 18,500. A decent jump. The easy first reaction: "Great, SEO is improving." But wait: we don't know yet where that growth came from. Google could be showing the site for new queries, more people could be searching for the brand name, or a single page could have taken off.
Start with the right question
Instead of asking "how many percent did it grow?", I'll ask "is this growth coming from brand or non-brand?" Because if most of it is brand, that means more people are searching for the company name, not that the site is showing up for new searches from people who don't know the brand yet. The brand is "Tech House", and users type it more than one way: tech house, techhouse, tech-house, tek house.
A brand regex for Tech House
Build a brand regex that covers the four spellings and excludes every other query. Before you use it, think about which results you expect.
- · tech house
- · techhouse
- · tech-house
- · tek house
- · best laptop
- · iphone price
Now I have brand
I used Matches regex and pulled out the brand queries: 5,000 clicks in the previous period, 10,000 in the current one. Brand roughly doubled. Now I use the same pattern with Doesn't match regex to see non-brand: 8,000 in the previous period, 8,500 in the current one.
The picture just changed completely. The site total, 13,000 → 18,500, looks like very strong growth, but once we split it: brand 5,000 → 10,000, and non-brand 8,000 → 8,500. Most of the growth is coming from brand.
This is where the real analysis starts
Now I care about non-brand, because that's the part with relatively weak growth. Look at impressions: 200,000 in the previous period, 310,000 now. A big jump. But clicks went from 8,000 to only 8,500. Now we have a much better question: why is the site showing up more for non-brand, but that extra visibility isn't turning into clicks at the same rate?
This is where CTR starts to mean something. It's natural for it to drop mathematically, because impressions grew faster than clicks. But is the fix "change the titles"? No, that's jumping ahead. We don't know the cause yet.
Look at the queries themselves
I open the non-brand queries and sort by impressions. I find queries like "best laptop for working from home with long battery life": longer than what the site used to show up for. Instead of scanning them by hand, I use what we learned earlier, the long-tail regex:
^\S+(\s+\S+){6,}$- best laptop for working from home with long battery life
- laptop that can run python and screaming frog
- laptop price
I compared the two periods: impressions 15,000 → 40,000, clicks 600 → 680. Long-tail impressions rose sharply, but clicks only rose a little. Is that a problem? Not necessarily. When I looked at the positions for the new queries, they were middling (9, 11, 13, 15). The logical reading: the site expanded its visibility to longer, more specific queries, but much of that new visibility is still in middling positions, so clicks grew less than impressions.
Change the angle: which pages do these new queries go to?
I opened the pages for the new long-tail queries and found that most of the growth comes from /blog/. I split products from the blog: product pages had impressions +10% and clicks +8%, while the blog had impressions +90% and clicks +35%. Now the story is clearer: the big growth in search visibility comes mainly from content, which explains why total impressions grew faster than clicks.
Is the site strong when the user is close to buying?
I built a price segment, (price|pricing|cost|how much|cheap), and looked at the queries: 60,000 impressions, 1,200 clicks. I went to Pages and found that much of the price traffic shows /blog/, while /product/ shows up less.
Let's keep going: purchase queries
I built a purchase segment, (buy|deal|discount|sale|coupon|financing), and looked at Pages. This time /product/ takes most of the visibility. That makes more sense. Now I can sketch a picture of the site: informational/long-tail → the blog is strong. Price → the blog shows up strongly; some cases need review. Purchase → product pages dominate. That's useful, because it tells me where Google sees the site's page types along the search journey. But don't turn it into a law: on another site, it could be completely different.
Position and CTR: don't read them alone
I found non-brand impressions +55%, clicks +6%, and average position improved from 13 to 10. That helps, but don't say "an average position of 10 means every query is in tenth place". It's an average: there could be queries at 3, 5, 11, 18 and 27 that end up at some average.
Same idea with CTR. Say the blog had 10,000 impressions and 1,000 clicks (CTR 10%), and later 100,000 impressions and 4,000 clicks (CTR 4%). Did the blog get worse? Look at CTR alone and you'd say "a lot". But clicks quadrupled, and visibility went up tenfold. More likely, the site entered a huge number of new searches, many of them at weaker rankings, so the CTR drop is a natural result of expanding, not necessarily a problem. The reverse is true too: if impressions fell from 100,000 to 20,000, clicks from 2,000 to 1,000, and CTR rose from 2% to 5%, the site lost about half its clicks. CTR on its own can fool you if you cut it off from the rest.
Back to the original problem
We started from "organic clicks grew 35%: does that mean SEO is working better?" After the analysis we found: brand clicks grew strongly, while non-brand click growth was limited. But non-brand impressions grew a lot, much of that growth came from the long tail, the blog was the biggest source of growth, the site started showing up for more specific queries but many of them are still in middling positions, and price queries have strong blog visibility that needs reviewing against the product pages. Had we stopped at "+35% clicks", we'd have missed all of that.
So what do I do after the analysis?
Here, too, a lot of people jump ahead: they see a low CTR, so they change the title. They see the blog showing for a price query, so they build a product page. No. The next step: pull the top non-brand queries with strong impressions + a position that can improve + business relevance, and for each one look at the page that shows up, whether it's the right page, what the SERP looks like, and who the competitors are. Then decide. Maybe you edit a page, maybe you strengthen internal linking, maybe you find there's nothing to do at all. That's normal; not every analysis has to end in a change.
And name the segment for what it actually is: instead of "AI Queries" when you're using ^\S+(\s+\S+){9,}$, call it "Queries 10+ Words". That's a fact; "AI Queries" is a conclusion. And don't build 30 segments just because you can: the question decides. If you have a brand-dependence problem, build brand and non-brand. If you're trying to understand new content, long-tail and questions. If it's ecommerce, price and purchase and how they spread across pages.
- 1
What surprises me in the data? (traffic went up, but I don't know why) - 2Is the growth brand or non-brand? — Regex
- 3The result
- 4
A new, sharper question (the articles were updated: are they showing up for more specific searches?) — Long-tail regex
Sometimes the result opens another question, and that's normal. Analysis isn't one step.
A site has a blog, and after a content update the owner says: the articles got better, because impressions rose 100%. We looked: impressions 50,000 → 100,000, clicks 5,000 → 6,000, CTR 10% → 6%. Write one paragraph describing what actually happened, without agreeing with "performance got worse" (looking only at CTR) or "performance is excellent" (looking only at impressions).
Write your answer first. The value is in trying before you look.
The last thing I want you to take away
If someone asks you after the course "what's your best regex?", that isn't the important question. The important one is: "what question are you trying to answer?", because the same pattern can be excellent in one analysis and worthless in another. You use regex to split a huge amount of data into a part that means something, then see how that part behaves, compare it, ask why, test your explanation, and only then decide what to do. That's the difference between knowing regex and knowing how to use it in SEO.
Before the next lesson
We've reached the last part of the course. The next lesson isn't a batch of new regex to memorize; we already have the tools we need. We'll open Search Console as if we're working on a real site, with a real question, and walk through it step by step. This time we're not learning regex; we're learning to work with it.
Well done, you reached the end of the lesson.