Fireshift / Features / Login and trial-end conversions

Login and trial-end conversions: the check

By the Fireshift team · Updated 2026-11-05

Short answer

We flag any Google Ads conversion whose trigger mentions a log-in or sign-in (event name, URL or click text), and any that fires when a trial ends or expires. We run the same test on GA4 key events. In a 5 Nov 2026 rescan of 206 B2B SaaS sites with Google Ads conversions, 15 (7.3%) counted a login or a page load inside the logged-in app. None of them counted a trial ending, but we have seen it on single sites, including the one in our sample report.

7.3%of 206 Ads sites count a login or a logged-in app page load (5 Nov)
9 of 15of those have no conversion for a finished signup
0sites in the 206 count a trial end

Static rescan, 306 domains, 206 with Google Ads conversion tags, 5 Nov 2026. Our 4 Nov study used a looser text match and found 11.5% of 235. Full breakdown.

What we detect

FindingRuleScore
LoginAn Ads conversion trigger or GA4 key event whose event name, URL or click text matches log in, login, sign in or signin, as a separate word. Names like design-inspiration or blog-insights don't match.−20
Trial endAn event name like trial_end, trialExpired or freeTrialEnded. A bare "ended" (call_ended, video_ended) doesn't count.−20

In the 5 Nov rescan, the 15 login sites split into: a click on a log-in or "Continue with Google" button (9), a login success event (3), a page load inside the app (3) and an auth form (1). Two other sites counted an isFirstTimeLogin event, which fires once per account. We treated those as signups, not logins.

A real example

From the scan in our sample report (4 Nov 2026, IDs removed):

Ads label frCXCN… in GTM-••••: event loginsuccess
GA4 key event: login_success
Ads label _O4fCP… in GTM-••••: event freeTrialEnded
GA4 key event: Web_FreeTrialEnd

Every returning customer who signs in counts as a conversion, and so does every trial that runs out, including the ones that never pay.

Why it hurts Smart Bidding

A login comes from someone you already have. If that action is primary, bidding learns to find more people who log in, which mostly means your own customers searching your brand name. A trial ending happens to every trial whether it converts or not, so it teaches bidding nothing about who pays. Both inflate the Conversions column and make cost per conversion look better than it is.

How to fix it

  1. Write down 30 days of Conversions and cost per conversion. Both will move.
  2. Set login and trial-end actions to Secondary, or remove their tags. Unmark them as GA4 key events.
  3. Count the account created instead: an event the app pushes after signup (GA4's recommended name is sign_up), counted once, with the user ID as transaction ID.
  4. Add a step after signup (activated or paid) when you can send it, with a value for paid.

What we can't see

  • Primary or secondary. That setting lives inside the Google Ads account. A flagged conversion only steers bidding if it is primary, so check it in Goals, Conversions.
  • Containers that only load inside the app. We read what the homepage, /pricing, /signup and /demo load. An app-only container is missed.
  • Whether the trigger still fires. A tag for a removed login page never fires. We read the setup, not a session.

FAQ

Should a login ever be a Google Ads conversion?

No. Keep logins in product analytics. If you want a signal from returning users, send activation or a paid upgrade instead.

Is a first login a valid signup conversion?

Yes, if the app fires it once per account, like an isFirstTimeLogin flag. A plain login event fires every time.

Our login conversion is secondary. Is that fine?

Mostly. Secondary actions don't steer bidding but still show in All conversions. One goal edit makes it primary again, so we'd still remove it.

Check your own site, free.

Fireshift reads what your site tells Google Ads, GA4 and Meta from the outside. No install, no account access.

Scan my site

See a sample reportOr have us fix it: Fix Sprint, €1,500