# How to track signups from search, by landing page

You want to know which pages bring signups from search. You have Search Console and analytics, but they tell different stories. Here is how to join them and ship changes that move signup numbers.

Updated 2026-09-14 · Source: https://porteur.ai/guides/track-signups-from-search

## What you must join, and why

Search Console tells you the query, the page, the impressions and the clicks. It does not know your signup.

Analytics tells you what the visitor did after the click. GA4 shows sessions and key events by landing page. Product analytics ties a person’s first touch to a later signup.

You need both. Join by the landing page path. The result shows two lists you care about: pages that win clicks and sign nobody up, and pages that convert and get no clicks.

For attribution, learn two views. First touch credits the first visit that brought the person. Last touch credits the visit before signup. For product sites, first touch answers which landing pages bring people who later sign up. Last touch shows which pages close. You will use both in judgement, not one rule to decide every change.

## Set up GA4 to record signups and landings

1. **Mark your signup as a key event** Send a signup event from your site. In GA4, Admin, Events, mark it as a key event. Conversions were renamed key events in 2024.
2. **Confirm Organic Search sessions** Open Reports, Acquisition, Traffic acquisition. Organic Search is the default channel group for sessions where source or medium is google or bing and organic. Check this before you filter by channel later.
3. **Use the Landing page report** Open Reports, Engagement, Landing page. This shows sessions and key events by the first page of the session. Add a filter for Default channel group equals Organic Search.
4. **Link Search Console** Admin, Product links, Search Console. Link your property and web stream. This adds two reports to Library: Google organic search queries and Google organic search traffic. They join clicks and impressions to landing pages, with Search Console lag and anonymised queries.

A fixed page looks like this in GA4: /guides/getting-started shows Organic Search sessions, your signup key event count, and reasonable average engagement time. You can click through to see events on that landing page view and its paths to signup.

## Build the GA4 report that matters

1. **Organic landings to signups** In Engagement, Landing page, add a comparison for Default channel group equals Organic Search. Add Signup key event as a metric. Sort by Signup key event. Export CSV.
2. **Compare attribution models** In Reports snapshots or Advertising, add a comparison for Attribution settings. Compare data-driven with first click and last click. Data-driven is the default for key events. Use first click to see who you originally attracted. Use last click to see closers.
3. **Use the Search Console reports** Open Library, publish the Google organic search queries and Google organic search traffic reports if not already. In Google organic search traffic, sort by Landing page. Export clicks, impressions and average position for the same date range as your GA4 export.
4. **Expect mismatches** Clicks and sessions never reconcile exactly. A click can start no session. A session can follow several clicks. Consent tools drop sessions. Work with orders of magnitude and direction, not a false precision.

If you need more detail, build an Exploration. Start with a free form. Rows: Landing page. Segments: Organic Search sessions only. Values: Sessions, Signup key event, Users. Break down by Device category. GA4 can sample large explorations and threshold small segments. Treat small numbers with care.

## Use product analytics for first touch to signup

GA4 is page analytics. It shows landing pages and key events in the same session. You also need to know which first landing pages lead to signups that happen later. That is a product analytics job.

1. **Capture page views with referrers** In PostHog, the $pageview event carries $current_url, $pathname and $referring_domain. A person stores initial referrer and initial UTM properties from their first visit. These answer where each person first came from.
2. **Define your signup** Track a product event for signup or account created. Mark it as important in your dashboard. Keep the name stable.
3. **Build a funnel by landing page path** Create a funnel from a page view that starts with $pathname equals / or starts with /pricing or starts with /guides/. Then add the signup event as the next step. Break down by initial referring domain to isolate google.com and bing.com as Organic Search.
4. **Answer the first touch question** Read which landing paths act as the first touch for people who later sign up. This joins a person’s first landing page to their later signup. Page analytics do not do this, product analytics do.

A fixed view looks like this: a funnel on /guides/ to signup, broken down by initial referring domain. You see /guides/getting-started sends 120 people into the product each 28 days, and 18 later sign up, most from google.com. You then check how many clicks that page gets in Search Console.

## Join Search Console with analytics by landing page

Export two tables for the same dates. From Search Console in GA4, landing pages with clicks and impressions. From GA4 Landing page, Organic Search sessions and signup key events by landing page. Or from PostHog, first-touch landings to signup by pathname.

1. **Normalise the paths** Strip the domain and query from URLs so both exports have clean paths like /pricing and /guides/getting-started.
2. **Join in a sheet** Use VLOOKUP or INDEX MATCH to join on the path. Keep columns for Clicks, Impressions, Sessions, Key events, and First-touch signups if you have them.
3. **Read the two lists** Sort two ways. First by clicks descending, then by signup numbers ascending. These are pages that win clicks and sign nobody up. Second by first-touch signups descending, then by clicks ascending. These are your quiet converters that get no clicks.

Work an example. /pricing gets 2,400 clicks, 0.8 percent click through rate, and 12 signups as last touch. First touch from /guides/getting-started drives 40 signups but sees only 200 clicks. You fix /pricing for clarity and speed. You add internal links to /guides/getting-started, improve its title and meta description, and ship a short comparison block that matches the query that brings it in.

## UTM parameters without breaking attribution

- Use utm_source, utm_medium, utm_campaign, and, if you need them, utm_term and utm_content.
- Use them only on links you place elsewhere: a newsletter, a partner site, a social post.
- Never use UTMs on internal links. An internal UTM starts a new session and breaks attribution.
- If a UTM URL gets linked from outside, it can be indexed. Add a canonical tag to the clean URL.
- Use Google’s Campaign URL Builder to make clean, consistent UTMs.

> Do not tag links between your own pages with UTMs. It corrupts Organic Search into a fake campaign and makes your SEO look worse than it is.

## Consent, anonymised queries, and other limits

In the EU, analytics that set cookies need consent under ePrivacy. Cookieless setups and server-side measurement exist. Every rate computed from consented sessions undercounts. Track direction over time and look for big gaps, not tiny changes.

- Search Console lags by a couple of days, as of 2026.
- Some queries are anonymised. A page can win clicks you cannot see by query.
- GA4 can threshold rows in small segments to protect users. You will see rows hidden.
- Explorations can be sampled. Reports are safer for totals.
- Sessions and clicks do not match one to one. Accept this and move on.

## Turn the join into weekly action

- Pages that get clicks, no signups: test copy, speed, form friction, and call to action. Try a short explainer above the fold on /pricing.
- Pages that convert, few clicks: improve the title and meta description, add internal links, and ship a small content upgrade. For /guides/getting-started add a “Try it free” block and a FAQ.
- Queries that bring the wrong people: move that page to a better intent or noindex it if it is off strategy.
- Queries just off page one: rework the intro and headings, add one specific example, and get a clean internal link from /guides/.
- Break down by device. Fix mobile if mobile landings bring sessions and no signups.
- If you sell, join payment events to first landing page. Then read what a search click earns and decide where to spend time.

Keep a sheet with four tabs: GA4 landings, SC landings, Joined, Notes. Each week, refresh exports, paste values, and keep Notes short: one change per page, one owner, one date. Review in 28 day windows so spikes smooth out.

## Troubleshooting odd numbers

- Signups missing in GA4: the event was not sent or not marked as key. Check DebugView, then Events, then Key events.
- Organic traffic looks low: a consent tool is dropping sessions, or you tagged internal links with UTMs. Remove internal UTMs first.
- Clicks way up, sessions flat: the page may redirect, be slow to load, or fail before analytics fires. Check Core Web Vitals and error logs.
- One pathname shows twice: a trailing slash mismatch. Canonicalise and redirect so /pricing and /pricing/ resolve to one.
- Cross domain or app signup: you lose the session. Use cross domain measurement or track signup server side and join by user ID in product analytics.

## Questions

### Should I use first touch or last touch for SEO signups?

Use both. First touch answers which landing pages bring people who later sign up. Last touch shows which pages close. For roadmap calls, lead with first touch. For page tweaks near signup, read last touch.

### Why do Search Console clicks not match GA4 sessions?

They never match exactly. A click can start no session. A person can click several times before one session starts. Consent tools drop sessions. Use direction and scale, not exact parity.

### How do I separate branded from non branded SEO signups?

Use Search Console queries to segment brand terms. Join by landing page, then read signup numbers for the pages those queries hit. Expect anonymised queries to blur the line. Treat the result as a guide, not an audit trail.

### Can I track revenue from search, not just signups?

Yes, if you join the payment event to the person and their first landing page. Build that in product analytics. Then read which landing pages from Organic Search earn money. That is the report that decides spend.

### Do I need a rank tracker for this work?

No. You need clicks, landings and signups that you can join. A rank tracker can help spot drops or mobile splits, but it does not replace the join. Use it as a signal, not the source of truth.

### How often should I refresh the join?

Weekly works for most small sites. Export the last 28 days for both sources. Note one change per page, then check the next week. Daily swings are noise for this job.

## Read next

- [Organic search traffic in GA4: where it is and how to read it](https://porteur.ai/guides/organic-search-traffic-in-ga4): See organic search in GA4, read source and medium, landings and key events, link Search Console, and build a one‑screen monthly view that you can act on.
- [The GA4 landing page report: the pages that bring people, and what they do](https://porteur.ai/guides/ga4-landing-page-report): Find the GA4 landing page report, filter to Organic Search, compare key event rates, avoid thresholds and sampling traps, and turn it into a fix list.
- [Linking Search Console to GA4: what you get and what you do not](https://porteur.ai/guides/link-search-console-to-google-analytics): Link Search Console to GA4, find the two reports, read queries next to landing pages, and know why clicks and sessions never match.
- [UTM parameters: use them without breaking your search data](https://porteur.ai/guides/utm-parameters): What UTM parameters mean, when to use them, how GA4 reads them, and the rules that keep your search and referral data clean on a small site.
- [Pages that get search clicks and no signups: the three causes](https://porteur.ai/guides/search-traffic-that-does-not-convert): Most search clicks that do not turn into signups fall into three causes. See which one you have, how to prove it, and what to change on the page.
- [What a search click earns: revenue attribution for a product site](https://porteur.ai/guides/what-a-search-click-earns): Track what a search click earns. Join payment events to the person and their first landing page, and see which pages bring signups and revenue.

Paste your URL to get a free 30‑second read of your site, the searches around it and the rivals on them, and see three findings whole before you connect anything. Free check: https://porteur.ai/
