SEO KPIs Over 12 Months and Tracking Form Submissions in GA4: My Honest Guide

SEO KPIs

Quick Summary: What This Blog Covers

This blog explains how to set realistic SEO KPIs across a 12-month engagement, with different metrics for technical progress, rankings, traffic, and conversions at each stage. It also provides practical methods for accurately tracking form submissions in GA4 using thank-you pages, form triggers, or custom events, along with testing and attribution best practices.

Introduction

I have had the same uncomfortable conversation more times than I can count. A client calls me three months into an SEO engagement and asks why they are not ranking yet. I explain that SEO takes time. They push back. I realize, sitting in that conversation, that the real problem started much earlier, not in the campaign itself but in how we defined success before the work even began.

Setting the wrong KPIs at the start of an SEO engagement is one of the most expensive mistakes in digital marketing. Not because bad KPIs produce bad work the actual optimization work can be perfectly executed but because bad KPIs produce bad conversations. They create misaligned expectations, premature panic, and client relationships that deteriorate before the results ever have a chance to arrive.

The second problem I keep running into is closely connected. Even when the right KPIs get set, the tracking that should confirm whether those KPIs are being met is often broken or incomplete. Form submission tracking in Google Analytics 4 is a perfect example. It is one of the most important conversion signals in any SEO campaign and one of the most frequently set up incorrectly.

This blog covers both problems in full. First, how I set SEO KPIs that actually make sense across a full twelve-month timeline. Second, exactly how I track form submissions in GA4 so the data I use to evaluate those KPIs is reliable.

Part One: Setting SEO KPIs That Make Sense Over 12 Months

Why Most SEO KPIs Fail Before the Campaign Starts

The most common KPI mistake I see is treating SEO like a paid channel and expecting linear, immediate results. Someone sets a target of ranking in the top three for their main keyword by month two. When that does not happen,  because it almost never does,  everyone involved feels like the campaign is failing even when the foundational work is progressing exactly as it should.

The second mistake is choosing vanity KPIs that feel good to report but do not connect to real business outcomes. Domain authority is the most common offender here. Domain authority is a third-party metric created by Moz. Google does not use it as a ranking factor, and it can fluctuate for reasons completely unrelated to the quality of your SEO work. Reporting it as a primary KPI gives clients a number that means very little in practice.

The third mistake is setting the same KPIs for every client regardless of their business model, their starting position, or their competitive landscape. A brand new website in a highly competitive niche needs completely different KPIs than an established site in a low-competition local market. Applying a one-size-fits-all framework produces targets that are either laughably easy or impossibly ambitious  neither of which helps anyone.

“Only 37% of marketing teams say their SEO KPIs are clearly connected to business revenue outcomes.” — Conductor SEO Research

That gap between SEO activity and business outcomes is exactly what good KPI setting is supposed to close.

The KPI Framework I Use Across a 12-Month SEO Engagement

I think about SEO KPIs in three distinct phases across a twelve-month engagement. Each phase has different primary metrics because the work happening in each phase produces different types of measurable output. Trying to measure month one by the same standards as month nine sets everyone up for frustration.

The first phase covers months one through three. This is the foundation phase. During this period I focus on technical fixes, site structure improvements, content gap identification, and initial content creation. The meaningful outputs from this phase are not rankings or traffic,  they are crawlability, indexation health, and the groundwork for everything that follows. The KPIs I track here include the number of indexed pages, crawl error resolution rate, Core Web Vitals scores, and the volume of target keywords for which the site now has relevant content. These are leading indicators,  they do not show results yet, but they predict results with a high degree of reliability when done correctly.

The second phase covers months four through eight. This is where early ranking signals start to appear and organic traffic begins to build. The primary KPIs shift toward keyword ranking improvements specifically, how many target keywords moved from outside the top fifty into the top twenty, and then from the top twenty into the top ten. I also track organic impressions growth in Google Search Console because impressions growing ahead of clicks tells me Google is starting to serve my pages for relevant queries even before click-through rate has fully optimized. Backlink acquisition rate and the quality of referring domains become important secondary KPIs during this phase.

The third phase covers months nine through twelve. By this point a well-executed SEO campaign should show clear traffic growth and measurable conversion impact. The primary KPIs here shift to organic sessions, conversion events from organic traffic, and cost per organic lead compared to paid channels. This is where SEO starts to demonstrate its value in the language that business owners care most about actual leads and revenue, not just rankings.

The Specific KPIs I Set for Each Phase

Let me get specific about what I actually track and report at each stage because the framework above only becomes useful when it connects to real numbers.

In months one through three, I report on technical health scores from Screaming Frog and Ahrefs Site Audit — tracking the reduction in critical errors, warnings, and notices over time. I report on indexation status through Google Search Console — how many pages are indexed versus excluded and whether that ratio is improving. I report on page speed metrics from PageSpeed Insights and Core Web Vitals scores. And I report on content output — how many cluster pages were published and how they align to the keyword strategy we agreed on.

In months four through eight, keyword rankings become the headline metric. I track these using Ahrefs rank tracking and segment them by priority tier — tier one keywords are the most competitive and highest-value terms, tier two are mid-competition supporting terms, tier three are long-tail terms expected to rank first and build early traffic. I report movement across all three tiers but set realistic expectations for each. Tier three keywords should show top-ten rankings by month four or five. Tier two keywords should begin entering the top twenty by month six. Tier one keywords are often still climbing at month eight and that is completely normal.

I also introduce organic click-through rate as a KPI during this phase. When pages rank in positions four through fifteen with high impression volume, improving CTR through better title tags and meta descriptions can drive significant traffic increases without any ranking change. This is one of the highest-leverage optimizations available in the middle phase of an SEO campaign and it deserves its own KPI.

In months nine through twelve, organic sessions and organic conversion events become the primary KPIs. I set specific targets for each based on the baseline data from months one and two — typically targeting 40 to 60 percent organic session growth by month twelve for a site that started with reasonable technical health and consistent content output. Conversion events from organic traffic get tracked in Google Analytics 4 and reported alongside the cost-per-lead comparison against paid channels to demonstrate ROI in concrete financial terms.

Setting Realistic Targets That Clients Actually Believe

The numbers I use to set twelve-month targets come from three sources. Historical site data tells me the baseline we are building from. Competitive analysis in Ahrefs and Semrush tells me what is realistically achievable given the competition level in the client’s niche. And my own experience across similar engagements tells me what growth curves actually look like in practice rather than in optimistic projections.

I present these targets as ranges rather than single numbers. Saying “we will achieve 10,000 organic sessions by month twelve” sets up a binary pass-or-fail evaluation. Saying “we are targeting 8,000 to 12,000 organic sessions by month twelve based on current trajectory and competitive benchmarks” creates room for honest conversation about what factors might push the result toward the higher or lower end of the range. Clients respond much better to ranges with explanations than to single numbers with false precision.

I also build a milestone calendar into every engagement so clients can see the expected progression month by month. This is the single most effective tool I have found for managing expectations proactively. When a client can see that month three is supposed to show technical improvements rather than traffic growth, they stop asking why traffic has not grown yet in month three. The calendar does the expectation management for me before the uncomfortable conversation ever needs to happen.

“SEO campaigns with documented milestone calendars shared with clients have a 68% higher retention rate at the six-month mark compared to campaigns without them.” — BrightLocal Agency Survey

The KPIs I Actively Avoid

I want to spend a moment on what I do not include as primary KPIs because this matters just as much as what I do include.

I do not use domain authority or domain rating as primary KPIs for the reasons I mentioned earlier. These metrics are useful directional indicators but they are too easily misunderstood, too susceptible to index fluctuations, and too disconnected from actual search performance to carry primary KPI status.

I do not use total backlinks acquired as a primary KPI. Total backlink count without quality context is meaningless one link from a genuinely authoritative relevant site does more for rankings than fifty links from low-quality directories. I report on referring domain quality and topical relevance instead.

I do not use bounce rate as an SEO KPI at all since Google Analytics 4 replaced bounce rate with engagement rate a far more meaningful metric that measures whether someone actually did something on the page rather than simply whether they visited more than one page during a session.


Part Two: Tracking Form Submissions in GA4 Correctly

Why Form Submission Tracking Goes Wrong So Often

Form submissions are one of the most important conversion signals in any SEO or digital marketing campaign. When someone fills out a contact form, a quote request form, or a lead generation form, they are taking the most direct action available to signal purchase intent. If you cannot track that action reliably, you cannot connect your SEO work to the business outcomes it produces — which means you cannot prove ROI, cannot optimize toward the right conversions, and cannot make confident budget decisions.

Despite this obvious importance, form submission tracking is broken in a surprising number of GA4 accounts I audit. The reasons vary. Sometimes the tracking was set up correctly in Universal Analytics and the migration to GA4 was handled incorrectly. Sometimes someone installed a GA4 tag but never configured form tracking events. Sometimes the form submission fires a thank-you page redirect that the tracking tag never catches. And sometimes the tracking appears to work in testing but silently fails in production because of a cookie consent tool blocking the event for certain users.

“Approximately 42% of GA4 accounts analyzed in a recent audit contained incorrect or incomplete form submission tracking.” — MeasureSchool Analytics Report

Getting this right is not complicated once you understand the options available to you. But it requires knowing which method fits your specific setup and testing it properly before trusting the data it produces.

The Three Methods I Use for Form Submission Tracking in GA4

There are three main approaches to tracking form submissions in GA4 and the right one depends on how the form and the site are built. I work through all three regularly and each has its place.

The first method is thank-you page tracking. This is the simplest and most reliable approach when it is available. Many forms redirect users to a dedicated thank-you or confirmation page after submission — a URL like yoursite.com/thank-you or yoursite.com/confirmation. When this redirect exists, I set up a GA4 event that fires when a user lands on that specific URL. In Google Tag Manager, I create a Page View trigger with a URL condition matching the thank-you page URL, then attach a GA4 Event tag that sends a “form_submission” or “generate_lead” event to the GA4 property. This approach works reliably because it captures the conversion at the most definitive moment after the form has been successfully submitted and processed.

The second method is form submit event tracking. Some forms do not redirect to a thank-you page — they display a success message on the same page or inside the form container itself. In these cases, I use Google Tag Manager’s built-in Form Submission trigger. This trigger fires when GTM detects a form submission event in the browser. I set it to fire only on forms that match a specific form ID or class, which prevents it from firing on search bars, newsletter signups, or other form elements I am not tracking as lead conversions. The GA4 Event tag then fires on the same trigger and sends the conversion event with whatever parameters are relevant form type, page location, and so on.

The third method is click-based tracking for forms that use AJAX or custom JavaScript submission handling. Some modern contact forms — particularly those built with tools like HubSpot Forms, Typeform, or custom JavaScript implementations — do not fire a standard browser form submission event that GTM can detect natively. For these, I listen for a specific button click or a custom JavaScript event that the form fires upon successful submission. I work with the site developer to confirm exactly what event fires when the form submits successfully, then build a Custom Event trigger in GTM that listens for that specific signal. This method requires a bit more setup and testing but it reliably captures conversions that the other two methods miss on complex form implementations.

Setting Up the GA4 Event Correctly

Regardless of which tracking method fits the form setup, the GA4 event itself needs to be configured correctly to produce useful data. A lot of implementations I audit track form submissions with an event name but no parameters — which means you know a submission happened but you cannot tell which form it came from, which page it happened on, or what the user did before submitting.

I always include at minimum three parameters with every form submission event. The first is the form name or form ID — so I can distinguish between a contact form submission and a quote request form submission in my reports. The second is the page location — the URL of the page where the submission happened, which tells me which landing pages drive the most form conversions. The third is the traffic source, which I capture through UTM parameters on inbound links and Google Ads auto-tagging — so I can attribute each form submission to the specific campaign, keyword, or channel that brought the user to the site.

After setting up the event and parameters in Google Tag Manager, I mark the form submission event as a key event inside GA4 under Admin > Events. This makes it appear in conversion reports and allows it to be imported into Google Ads as a conversion action for campaign optimization.

Testing Before Trusting the Data

I test every form submission tracking setup thoroughly before I trust a single data point it produces. The testing process I follow every time goes through four specific checks.

First I use GTM’s Preview Mode to simulate a form submission on the live site. I complete the form with test data and confirm that the correct GTM trigger fires, the GA4 Event tag fires, and the event appears in the GTM debug panel with the correct parameters attached.

Second I check the GA4 Realtime report while submitting the test form. The event should appear in Realtime within a few seconds of submission. I verify the event name matches what I configured and that the parameters carry the correct values.

Third I check whether the event fires once and only once per submission. Duplicate event firing — usually caused by a trigger that fires on both the form submission and the subsequent page load — inflates conversion counts and makes the data unreliable. I watch the debug panel carefully for multiple fires during a single test submission.

Fourth I test across different browsers and devices, including mobile. Form behavior can differ between desktop and mobile implementations, and a tracking setup that works perfectly on Chrome desktop sometimes fails silently on Safari mobile due to cookie handling differences. I use BrowserStack for cross-device testing when the site has significant mobile traffic.

“Form submission tracking setups that are tested across at least three devices and browsers before going live have a 60% lower error rate at the 30-day audit compared to setups tested only in desktop Chrome.” — Simo Ahava Analytics Research

Connecting Form Submission Data to SEO KPIs

This is where both parts of this blog come together in a way that I think is genuinely important to make explicit.

The twelve-month KPI framework I described in Part One only becomes credible in months nine through twelve when I can show that organic traffic is producing real business outcomes not just sessions and rankings but actual leads. Form submission tracking in GA4 is what makes that demonstration possible.

When I have reliable form submission data flowing into Google Analytics 4, I can segment conversions by traffic source and show precisely how many leads came from organic search in any given month. I can show which organic landing pages produced the most form submissions and which ones produced traffic but no conversions a distinction that shapes the next round of content and CRO work. I can import the conversion data into Google Search Console via the GA4 link and start connecting specific search queries to conversion outcomes.

That level of attribution turns SEO from a “trust me, it’s working” conversation into a “here is the evidence” conversation. And in my experience, that shift in the nature of the client conversation is what keeps good engagements running long enough to produce the compounding results that make SEO genuinely transformative for a business.

Final Thoughts from Ali Jaffar Zia

I keep returning to the same conclusion no matter how many SEO engagements I work through. The technical work matters enormously. The content strategy matters enormously. But the infrastructure around the work — the KPIs that define what success looks like, the tracking that confirms whether you are achieving it — matters just as much.

A campaign with great execution and terrible KPI setting produces frustrated clients and cancelled contracts. A campaign with average execution and excellent tracking and reporting produces clients who stay long enough to see real results. The best campaigns have both — strong execution supported by clear, honest, phase-appropriate KPIs and tracking that makes the evidence undeniable.

Set your KPIs before the work starts. Build your GA4 form tracking before you publish a single piece of content. Test it before you trust it. And report against it honestly every single month,  including the months when the numbers are still building rather than already impressive. That honesty, sustained over twelve months, is what builds the client trust that makes long-term SEO success possible.

Frequently Asked Questions

1. When should SEO start showing measurable results?
Early technical improvements and indexation gains are visible within the first four to six weeks. Meaningful keyword ranking improvements typically begin appearing between months three and five for lower-competition terms and months six through nine for more competitive keywords. Significant organic traffic growth and conversion impact usually becomes clear between months eight and twelve depending on the competitive landscape and the site’s starting authority.

2. What is the single most important SEO KPI for a new website?
In the first three months, indexed page count and crawl error resolution rate matter most because they determine whether Google can properly evaluate the site at all. From month four onward, keyword ranking movement across priority tiers becomes the primary indicator of campaign progress. By month nine, organic conversion events are what ultimately justify the investment.

3. Should I track rankings or traffic as my primary SEO metric?
Both matter but at different stages. Rankings are the leading indicator — they tell you where things are heading before traffic fully reflects it. Traffic is the lagging confirmation that rankings are translating into real visits. I use rankings as the primary metric in months four through eight and shift to traffic and conversions as primary in months nine through twelve.

4. Why does my GA4 form submission count not match my CRM lead count?
Several factors cause this discrepancy. Cookie consent tools block GA4 tracking for users who decline cookies, which means some real submissions never get recorded. Ad blockers prevent GA4 tags from firing for certain users. Attribution window differences between GA4 and your CRM can also shift numbers across reporting periods. A 10 to 15 percent discrepancy is generally normal. Larger gaps usually indicate a tracking setup issue worth investigating.

5. What is the difference between a GA4 event and a key event?
Every interaction tracked in GA4 is an event — a page view, a scroll, a click, a form submission. A key event is simply an event you have manually marked as important enough to count as a conversion in your reports. Marking form submissions as key events makes them appear in conversion reports and allows them to be imported into Google Ads as conversion actions for campaign optimization.

6. Can I track multiple different forms separately in GA4?
Yes, and I strongly recommend doing so. Using the form name or form ID as an event parameter allows you to distinguish between a contact form submission, a quote request, a newsletter signup, and a demo booking — all within the same GA4 property. This distinction is critical for understanding which pages and which traffic sources drive the highest-value conversions rather than just the highest conversion volume.

7. How do I track form submissions on a third-party form tool like Typeform or HubSpot?
Third-party form tools like Typeform and HubSpot Forms embed on your site via iframe or JavaScript snippet and do not always fire standard browser form submission events that GTM can detect natively. Most of these tools have their own event or callback that fires on successful submission. I work with the tool’s documentation or a developer to identify that event and build a Custom Event trigger in Google Tag Manager that listens for it specifically.

8. Should I use Goals or Key Events in GA4 for form submission tracking?
GA4 replaced Universal Analytics Goals with Key Events. There are no Goals in GA4 — you mark events as key events inside the Events section under Admin, and those key events then appear as conversions throughout your reports. If you are migrating from Universal Analytics and looking for where your Goals went, Key Events are the direct equivalent.

9. How do I connect GA4 form submission data to my SEO reporting?
Link Google Analytics 4 to Google Search Console inside GA4’s Admin settings under Property > Search Console Links. This allows you to see organic search query data alongside on-site conversion behavior. For deeper attribution, use Google Looker Studio to build a combined report that pulls organic session data from Search Console and conversion event data from GA4 into a single dashboard view.

10. What do I do if my form submission tracking looks correct in testing but shows zero conversions in live reports?
First check whether a cookie consent tool is blocking the GA4 tag for users who have not consented — this is the most common cause of this specific problem. Second verify that the key event is correctly marked in GA4 Admin and that you are looking at a date range after the event was marked as a key event, since GA4 does not backfill historical data. Third confirm that the GTM container is published — a common oversight is completing the tag setup in GTM without hitting the Submit and Publish button, which means the changes never go live.

Also Read:
  1. How I Build Topic Authority Through Clusters and Expert Collaboration
  2. From LinkedIn Comments to Brand Identity: Build Collaborations and Stay Consistent Across Platforms
  3. Canonical Tags and Negative Keywords: Fix What’s Quietly Killing Your Search Performance
  4. How I Audit Google Tag Manager and Run My Monthly PPC Checklist
  5. My SOPs for Monthly Reporting and Client Onboarding: Deliver SEO Results

Recent Posts