All posts

Lead tracking

Contact form conversion tracking: when views count as leads

A GA4 rule on /contact fires on the form page and its thank-you page alike, so Google Ads counts visits as leads. How to check it in ten minutes and fix it.

A contact form conversion should count a renter who sent a message: on a community website, one view of the thank-you page after the form goes through. Many Google Ads "Contact Us" conversions count every view of the contact page instead, because the GA4 rule behind them matches any address starting with "/contact", and the form page does.

What a contact form conversion should measure

One thing: the form was sent. On most community websites that leaves a trace a measurement tool can see, a thank-you page with its own address, for example "/contactussuccess" after a form at "/contactus". A renter can only reach it by sending the form, so one view of it is one message. That's the contact form lead in every monthly report Leasestory makes: the thank-you page view, counted once, nothing else.

Opening the contact page is not that. It's a renter looking at the form, and on any site far more people look than write.

How a conversion ends up counting page views

The usual chain has four links, and each one is reasonable on its own.

  1. A GA4 "Create event" rule. GA4 can generate a new event from an existing one when a condition holds, and Google's own example is a confirmation page: a page_view whose page_location matches the page's URL. The rule gets written as page_location contains "/contact", or page_path starts with "/contact".
  2. The prefix matches two pages. "/contactus" starts with "/contact". So does "/contactussuccess". The rule fires on the form and on the thank-you page alike, and the form page is where the traffic is.
  3. The event becomes a key event, then a Google Ads conversion. It's marked as a key event and imported into Google Ads, usually under the Contact category, as a Primary action that counts every occurrence.
  4. Bidding follows the count. On Maximize conversions, Google's AI sets bids to get the most conversions it can for the budget. If the conversion is a contact page view, the campaign learns to buy contact page views.

A conversion created inside Google Ads from a URL rule with the same prefix has the same problem; the rule just lives in a different place.

Google is counting what it was told to count. The rule said "/contact", and the form page starts with "/contact".

Why it matters

  • The owner's number. A report that takes the Contact conversion as leads is reporting how many people looked at the form. A renter who opened the page and left counts the same as one who wrote.
  • The bidding. A campaign optimized toward page views pays for clicks that reach the contact page and stop there. Cost per "conversion" looks fine. Cost per message is unknown.
  • The real signal is buried. The thank-you page views are in the count, a small number inside a large one, so the campaign can't learn from them and nobody can see them.
  • The comparison breaks. A community with the rule and one without can't be compared, and neither can the month before the rule was written with the month after.

How to check in ten minutes

  1. In Google Ads, open Goals, then Conversions, then Summary, and open the Contact action. Note its source (a Google Analytics import and the event's name), whether it is Primary, and whether it counts "Every" or "One".
  2. In GA4, open Admin, then Data display, then Events, then Create event, and find that event's rule. Read the parameter, the operator and the value. "contains /contact" or "starts with /contact" is the problem.
  3. In GA4's Pages and screens report, compare views of the contact page with views of the thank-you page over the same dates. If the conversion count sits near the first number, it counts views.
  4. For certainty, test it: open the contact page on the live site without sending anything and watch the Realtime report, which shows the last 30 minutes. If the event appears, the rule fires on views. Then send a test message and watch it fire again.

Do it for every community. The rule was usually copied from one property to the next.

How to fix it

  1. Write the rule against the thank-you page. A new "Create event" rule, page_location contains "/contactussuccess" (or the site's own thank-you path), and nothing broader. Leave the old event alone for now. New events don't apply to historical data, so the new one starts counting from the day it's made.
  2. Mark the new event as a key event in GA4, under Admin, then Data display, then Key events.
  3. Import it into Google Ads as a Primary action under the Contact category, and set it to count one conversion per click: Google's own guidance for leads, since one renter sending the same form twice is still one lead.
  4. Set the old action to Secondary. Secondary actions stay in "All conversions" but are not used for bidding. Don't delete it; the history is useful for explaining the drop.
  5. Expect the count to fall. That's the point. Smart Bidding then needs one or two conversion cycles to relearn. If a campaign on Maximize conversions nearly stops spending for several days, move it to Maximize clicks or Manual CPC until the new action has a few weeks of real leads, then move it back.

Or ask your assistant

With Leasestory connected to your assistant through MCP, which comes with the paid plan, the check is one question:

Is my Contact Us conversion counting page views or submitted forms?

Your assistant reads the property's key events and its "Create event" rules through your own Google access and says what lead counting does with each one: a rule that fires on page views is listed as left out, by name. It can run the Realtime check with you while you open the page. Nothing in GA4 or Google Ads changes; the connector only reads. Today that's Claude on the web, the desktop app and Claude Code. The free report applies the definition to one of your communities, and its contact form count beside Google Ads' Contact conversions is the fastest way to see whether the two agree.

FAQ: contact form conversions on apartment websites

Does Google Ads count a contact page visit as a conversion?

Only when it's told to. Google Ads counts whatever the conversion action's rule describes. A rule written against the contact page's address, or a prefix the contact page shares with its thank-you page, counts visits. A rule written against the thank-you page alone counts sent forms. The rule is the thing to read.

Should a contact form conversion count "One" or "Every"?

One per click. Google's conversion counting options describe "One" as the choice when you care whether a kind of lead was generated rather than how many times. A renter who sends the form twice after one click is one lead. "Every" suits purchases, where each order matters on its own.

Will fixing the rule hurt the campaign?

The counted conversions will drop, because most of them were views. Smart Bidding then takes one or two conversion cycles to learn the new signal. If a campaign on Maximize conversions nearly stops spending, switch it to Maximize clicks or Manual CPC for a few weeks and come back once the real action has data.

What is a contact form lead on an apartment website?

One view of the thank-you page after the form was sent, counted once per renter. A visit to the contact page is not a lead, and neither is a form that was started and abandoned, which GA4's form_start event records. Leasestory counts contact leads this way in every report and every answer.

Can my assistant change the rule?

No. Through the connector it reads the property's events, key events and "Create event" rules and reports what each one does, but it never writes to GA4 or Google Ads. Rewriting the rule, marking the key event and importing it are done by someone with edit access, in GA4's Admin and in Google Ads.

The rule

Count the page a renter can only reach by sending the form. Count it once. Read the rule before you trust the number.

Ask it about your own communities.

Leasestory connects to your assistant through MCP: this question and every other, answered from your own Google Analytics, Search Console and Google Ads.

Connect your assistant

Or start with a free report for one community.

Keep reading