Landing Page Primary Action: One Page, One Job
Competing buttons split intent and flatten results. Here is how to pick a landing page primary action from search intent, repeat it, and audit rivals.

A page with three equally weighted buttons does not hand a visitor three chances to convert. It hands them a decision to make before the decision you wanted, and a fair number of people resolve that first decision by leaving. A landing page primary action is the one thing you would still ask for if you were allowed to ask for only one thing. Choosing it is mostly subtraction, so this post covers how to pick it from the query that brought the visitor, how to repeat it without multiplying it, and a twenty minute audit you can run on a real page today.
Why Competing Calls to Action Split Intent
The cost of a second call to action is not the click it takes. It is the pause it creates.
Hick's law, from W. E. Hick's 1952 work on choice reaction time and Ray Hyman's 1953 follow-up, describes how the time to make a choice rises with the number of options presented. It was measured on simple, equally weighted alternatives, so applying it to a whole web page is a stretch: a page with strong visual ranking gets scanned, not deliberated. The honest version is narrower and still useful. When two elements look equally important and sit at the same point in the visitor's reading path, the visitor has to compare them, and comparison costs attention you already paid to get.
There is a second cost that nobody feels until reporting week. Two calls to action split the same population of visitors. Each one now converts a fraction of the traffic, so each looks mediocre, neither reaches a sample size you can act on, and the page owner ends up defending both because neither can be proven worse. A page with one action produces one number that moves.
The ratio people reach for here is what Unbounce popularized as "attention ratio": clickable destinations on the page divided by conversion goals. Treat it as a framing device rather than a law, since it counts a footer privacy link the same as a hero button. It is still the fastest way to notice that a page asking for one thing offers fifty-three ways to do something else.
| What adding one more call to action actually costs | Why it happens |
|---|---|
| A comparison the visitor did not ask to make | Two elements with the same visual weight cannot be ranked by scanning |
| Half the sample per action | The same traffic now divides across two outcomes |
| Slower testing | Neither variant accumulates enough conversions to read |
| Diluted analytics | Click events spread across destinations, so no dominant path appears |
| No owner | When two teams each have a button, nobody is accountable for the page |
Primary, Secondary and Escape: Three Different Jobs
Most "too many CTAs" advice fails because it counts buttons. The useful unit is distinct destinations, sorted into three roles.
| Primary action | Secondary action | Navigation escape | |
|---|---|---|---|
| What it is | The conversion you would defend in a review | A lower commitment step toward the same outcome | Nav, footer, related links, site search |
| Distinct destinations | Exactly one | One, occasionally two | Budgeted, not zero |
| Visual weight | Highest contrast, largest target, filled | Text link or outline button, never filled | Lowest, standard nav styling |
| Position | Repeated at every decision point down the page | After the primary in reading order | Header and footer, outside the content column |
| What you measure | Page conversion rate from organic sessions | Assisted conversions into the same funnel | Exit paths |
| If it wins | Working as designed | Fine, as long as it feeds the primary later | The page answered the wrong question |
One test separates a real secondary action from a disguised second primary: does it feed the same funnel? "Watch the two minute demo" placed under "Start a trial" is a secondary action, because a person who watches is one step closer to the primary. "Talk to sales" sitting beside "Start a trial" is not. It is a second primary wearing a smaller button, it forks the road, and the two options will quietly compete for the rest of the page's life.
An escape route is not a failure either. If the page cannot serve the person who landed on it, the honest outcome is that they find the page that can, or return to the results. Bolting on a capture form to intercept them converts a bad fit into a bad lead. The related read is pogo sticking, an industry coinage rather than a published search engine metric, describing that return trip to the results page.
Stuck on page two?
Real human clicks that lift your CTR and move you up the rankings.
Pick the Landing Page Primary Action From the Query, Not the Quarter
The most common way to get this wrong is to choose the action from what the business needs this quarter. The traffic did not read the quarterly plan. It arrived on a query, and the query says what stage the visitor is at.
Search Console will tell you the mix in about five minutes.
- Open Google Search Console and go to Performance, then Search results.
- Set the date range to Last 3 months. A 28 day window is too thin for a query breakdown on most pages.
- Open the Pages tab, find the URL you are auditing, and click it. That applies a page filter to the whole report.
- Switch to the Queries tab with Clicks, Impressions, CTR and Position all enabled.
- Export to a sheet.
- Sort by clicks, not impressions. Impressions include people who never came. Clicks are the visitors your page actually has to serve.
- Bucket the top fifty queries by intent, then sum clicks per bucket.
| Query bucket | Signal words | What the visitor is trying to do | Primary action that fits | Action that fights the traffic |
|---|---|---|---|---|
| Definitional | what is, meaning, explained | Understand a concept | Continue reading, or a resource sign-up | Book a sales call |
| Comparative | vs, alternatives, best, review | Narrow a shortlist | Open a comparison or a plan table | Add to cart |
| Commercial | pricing, cost, buy, near me | Transact or price it | Start, buy, request a quote | Download an ebook |
| Problem led | how to fix, not working, error | Solve something now | Get the fix, then a tool trial | Newsletter signup |
| Brand | your company name, brand plus product | Reach a specific place | Log in, or the exact product page | An unrelated lead magnet |
Here is a worked read on an example page. The figures below are illustrative, not SparkCliks data.
| Bucket | Clicks (90 days) | Share of clicks |
|---|---|---|
| Definitional | 610 | 51% |
| Comparative | 290 | 24% |
| Commercial | 145 | 12% |
| Problem led | 110 | 9% |
| Brand | 45 | 4% |
| Total | 1,200 | 100% |
A page like that, with roughly half its clicks arriving on definitional queries, is being asked to teach. A "Buy now" hero button on it is not a primary action, it is a mismatch, and the page will read as pushy to three quarters of its own audience. The defensible primary action is the next step a learner would take, and the commercial ask belongs on the page you send them to next.
Do this before you touch the design. Choosing a primary action that contradicts the query is the one mistake no amount of button styling repairs, and the mismatch usually starts before the click, in the snippet. If your title promises one thing and the page asks for another, the visitor notices in the first second: see matching your title tag to the landing page headline and satisfying search intent above the fold.
Write the Label as the Outcome
A button label is a promise about the next screen. Vague labels ("Submit", "Learn more", "Get started") push the work of predicting what happens onto the visitor, and a visitor who cannot predict the next screen either hesitates or clicks and bounces. A click followed by an immediate exit is worse than no click, because it burns the one moment of intent you had.
| Weak label | Rewritten as the outcome | Why it works |
|---|---|---|
| Submit | Send my quote request | Names the thing being sent and who it belongs to |
| Learn more | See all seven plan tiers | Sets the expectation for the next screen |
| Get started | Create my first campaign | Describes the first real step, not an abstraction |
| Download | Get the audit checklist (PDF) | Names the format so nobody expects a video |
| Contact us | Ask a question, reply in one business day | Prices the commitment in time |
Two rules keep labels honest. First, one verb per page: if the primary action says "Start", nothing else on the page should say "Start", because a repeated verb on a different destination reads as the same offer. Second, the label and the destination heading should share words. If the button says "See all seven plan tiers" and the next page is headed "Pricing", rename the heading.
Repeat the Same Action Instead of Adding New Ones
Repetition and multiplication get confused constantly. Placing the same button five times down a long page is repetition, and the page still has one job. Placing five different buttons is multiplication, and the page now has five jobs.
The count that matters is distinct destinations, so a page with one destination repeated at four scroll depths still scores one.
| Scroll zone | What the visitor has just processed | What the repeated CTA does |
|---|---|---|
| First viewport | The promise, matched to the query | States the action for scanners who are already sold |
| After the explanation | How the thing works | Catches the reader who needed the mechanism |
| After the proof | Cases, numbers, screenshots | Catches the reader who needed evidence |
| After objections | Pricing, risk, cancellation, support | Catches the reader who needed an objection answered |
| End of page | Everything | Last ask before the footer |
Keep the label and the href identical at every repeat. Changing the wording between repeats splits your click data across labels, so no single destination looks dominant in reports, and it reads to the visitor as a slightly different offer each time. A sticky bar follows the same rule: one sticky action, the same one, or none at all.
Trust marks belong beside these repeats rather than in a badge row at the bottom, because the moment of doubt happens next to the button. There is more on that in trust signal placement.
How Analytics Tells You There Is No Primary Action
Before the symptom list, a setup detail that stops most of these audits dead. GA4's enhanced measurement fires a click event for outbound links and a file_download event for documents. It does not automatically track clicks on internal links or on buttons. So the competition you are trying to measure, your own nav against your own hero button, is invisible in a default install.
To make it visible: add a Google Tag Manager trigger on all link clicks, send a GA4 event carrying link_text and link_url, then register both as custom dimensions under Admin, then Custom definitions. Give it 24 hours, then build a Free form exploration in Explore with link_text as the row dimension, Event count as the metric, and a filter on the landing page path.
| What the report shows | Usual diagnosis | The change to make |
|---|---|---|
| No destination takes more than about a fifth of on-page clicks | No dominant action exists | Demote or delete until one destination leads clearly |
| The nav out-clicks the hero button | The first viewport did not answer the query | Fix the above the fold answer before touching the button |
| Engaged sessions healthy, conversions low | People read, nothing asked | Add repeats of the same CTA at each decision point |
| Primary CTA clicks healthy, form completions low | Friction is after the click, not before it | Audit the form fields, not the button |
| Two CTAs each converting at roughly half the old single rate | They are cannibalizing, not adding | Pick one and demote the other to a text link |
| Heavy exits through a related-content link above the CTA | Positional distraction | Move that link below the final CTA |
Those percentages are illustrative thresholds for a first pass, not benchmarks. Read them against your own page's history rather than against a number from a blog post.
The fourth row saves the most wasted effort. A page can have a perfect primary action and still convert badly because the form behind it asks for eleven fields. Work out which side of the click the problem sits on before redesigning anything: form friction without losing fields covers the after-click half.
The Twenty Minute One Page One Job Audit
Run this on one real page that already receives organic clicks. Do not start with the homepage.
Step 1. Write the job before you open the page. One sentence, in a doc: "When this page works, the visitor ______." If two people on the team write different sentences, stop here, because you have found the actual problem.
Step 2. Count destinations. Paste this in the browser console on the page. It lists every clickable thing so you can count rather than estimate.
// Lists every clickable destination on the page, in DOM order.
[...document.querySelectorAll('a[href], button')]
.map(el => (el.innerText || el.getAttribute('aria-label') || '').trim())
.filter(Boolean)
.forEach((label, i) => console.log(i + 1, label));
Step 3. The five second test. Show the first viewport to somebody outside the team for five seconds, then ask what the page wants them to do. If they name two things, you have a tie.
Step 4. The grayscale test. Screenshot the page and desaturate it. Anything that still reads as a button competes with your primary. In the first viewport there should be exactly one.
Step 5. The verb and destination pass. List every CTA label on the page in a column with its href beside it. Count distinct hrefs. Count distinct verbs. Both should be one for the primary.
Step 6. The adjacency check. For each repeat of the primary CTA, read the two paragraphs directly above it. Any link there gets removed or moved below the button.
Step 7. The query check. Run the Search Console export from earlier and confirm the primary action matches the dominant intent bucket.
Step 8. Write one change. One change per page per measurement cycle, or you will never know which one worked.
Score the page against this list. Anything you cannot answer yes to is a finding.
| Check | Pass condition |
|---|---|
| Single primary destination | Exactly one href carries the primary role |
| Repetition | It appears at least three times with identical label and href |
| Visual uniqueness | No other first viewport element shares the primary's fill color |
| Secondary discipline | At most one secondary action, styled lower, feeding the same funnel |
| Adjacency | Zero links in the paragraph directly above any primary CTA |
| Intent match | The action matches the largest query bucket by clicks |
| Proximity of proof | Trust marks sit within one viewport of a primary CTA |
| Uninterrupted first ask | No popup fires before the first CTA has been seen |
| Escape available | A mismatched visitor can reach the right page without the back button |
Measuring the Change Without Fooling Yourself
A one job rebuild usually changes several things at once, so the measurement has to be stricter than the change.
Baseline window. Twenty-eight days before the change, which covers four complete weekly cycles. Weekly cycles matter here because business pages behave differently at weekends, and a 21 day window weights the days unevenly.
Change window. Twenty-eight days after, starting the day after deployment, not the day of it.
Control set. Three to five comparable pages on the same template with similar traffic, which you deliberately do not touch. Read their conversion rate over both windows. If the controls moved by a similar amount, something seasonal moved them and your change is not the cause. Skipping this step is how teams end up crediting a button color for a demand shift.
Metric. Conversions divided by sessions from organic search only. Total sessions mixes in email and paid, which carry different intent and different volumes week to week.
What counts as signal. On a page with a few hundred organic sessions a week, weekly conversion rate wobbles by a surprising amount on its own. As a working rule rather than a statistical test, treat a move smaller than about a fifth of the baseline rate as noise, and require the direction to hold for three consecutive weeks with the control set staying flat. If you have the volume for a proper split test, run one instead, because everything above is a substitute for the test you cannot afford.
One thing not to do: never validate a call to action with purchased visits. SparkCliks' SERP Clicks visits search for your keyword, scroll the results, click your listing, stay on the page for around a minute, optionally open one internal page you nominate, and never press back. That is exactly what those visits are configured to do, and none of it is an opinion about your button. Keep purchased visits in a separate segment in reporting so they do not dilute the organic conversion rate you are reading. The one genuine benefit for this exercise is the second-page setting, since naming the single page you want visitors to reach forces you to say out loud what the primary action is.
Where One Page One Job Breaks Down
The rule is strong, not universal.
Homepages are not landing pages. A homepage routes several audiences and its job is orientation. Judge it on how quickly people reach the right section, not on a single conversion.
Catalog and category pages. Here "reach a product" is the action, so a hundred product links are the primary action expressed a hundred times, not a hundred competitors. The real competitors on those pages are the banners.
Documentation. The primary action is often "keep reading" or "copy this snippet", which is real, measurable, and not a button.
Two audiences on one URL. A page serving recruiters and buyers usually wants to be two pages. If it cannot be split, use one explicit fork high on the page with two clearly labeled paths, and accept a lower ceiling on both.
Regulated pages. Disclosure and consent links are obligations, not distractions. Style them low, keep them, and do not count them in your budget.
Everywhere else the discipline holds. Name the job, pick the action from the query, say it in the language of the outcome, repeat it, and delete whatever else was standing beside it.
Frequently asked questions
FAQ
One primary action, repeated as often as the page has natural decision points, and at most one secondary action that feeds the same funnel. The number to keep low is distinct destinations, not buttons: the same button five times still counts as one action.
A primary action is the conversion the page exists to produce, styled with the highest contrast and repeated down the page. A secondary action is a lower commitment step toward that same outcome, styled as a text link or outline button. If the second option leads into a different funnel, it is a second primary action, not a secondary one.
Repeating the identical label and destination is not a competing call to action, it simply gives readers who needed more evidence a place to act. Keep the wording and the href identical at every repeat, because changing the label splits your click data and reads as a different offer.
On paid search pages with one tightly controlled promise, reducing the nav is defensible. On organic pages it usually is not, because those pages collect queries you did not choose, and the nav is how a mismatched visitor finds the right page instead of returning to the results.
Export the page's queries from Search Console over 90 days, bucket them by intent, and sum clicks per bucket rather than impressions. Choose the action that fits the largest bucket, and move the commercial ask to the page you send that traffic to next.
It can show the symptom, once you are tracking internal link clicks, which GA4 does not do by default. The pattern to look for is on-page clicks spread thinly with no destination taking a clear lead, or the navigation out-clicking the hero button.
Related articles

Buy SERP Traffic, Not Direct: Why the Entry Path Matters
Before you buy SERP traffic, know how it differs from direct: only a visit that starts with a search reaches Search Console. How to specify it and verify it.

Landing Page vs Homepage: Where Search Clicks Land
Landing page vs homepage: a homepage answers almost no specific query. Find the queries landing on yours in Search Console and give each one a page that fits.

Build a Location Page That Matches Local Search Intent
Most location pages answer the wrong question. Here is how to match local search intent across service in city, near me and brand plus city queries.
