Skip to content
Y
YAS.SH
Analytics

Conversion Tracking for Links: Clicks Are Inputs, Not Outcomes

How to track what happens after the click — UTM-to-conversion joins, destination-side events, and the metrics that matter.

yas-team3 min readconversiontrackinganalytics
Conversion Tracking for Links: Clicks Are Inputs, Not Outcomes
Featured imageConversion Tracking for Links: Clicks Are Inputs, Not Outcomes

Clicks measure interest; conversions measure value. The gap between them is where marketing budgets are won and lost — and it's only visible when the link layer and the destination layer speak the same language. This guide shows the full loop: tag, measure, join, decide.

The pipeline

link click (yas.sh)  →  destination load  →  conversion event (destination)
        └────────────── UTM parameters join the two ──────────────┘

The link layer knows who clicked what, when, from where. The destination knows who converted. The UTM parameters are the join key — which is why the UTM taxonomy is the foundation of conversion tracking.

Every campaign link carries source, medium, campaign (and content for variants). Build with the campaign manager so the tagging is automatic:

https://example.com/signup?utm_source=newsletter&utm_medium=email&utm_campaign=q3-launch

Shorten the full tagged URL so the parameters survive the redirect (UTM guide for the why).

Step 2 — Fire conversion events on the destination

On the destination, standard tools do the work: GA4 conversion events, form submissions, checkout completions, or a webhook on your own analytics. The key practice: the conversion event carries the same UTM parameters (GA4 reads them from the URL automatically; custom systems parse them in code).

Step 3 — Join and slice

Now the reports write themselves:

Source Medium Campaign Clicks Conversions CVR
newsletter email q3-launch 1,240 62 5.0%
twitter social q3-launch 2,110 42 2.0%
google cpc q3-launch 3,900 78 2.0%
qr qr q3-launch 480 19 4.0%

The interesting rows are the ones where clicks and conversions disagree: high clicks + low CVR = targeting or offer problem; low clicks + high CVR = scale the channel. Decisions live in the ratio, not the count.

The link layer supplies the click truth — bot-filtered, per-channel, per-day:

  • Channel honesty. Bot-filtered analytics keep click numbers comparable across channels.
  • Timing. The daily series shows when clicks arrive; pair it with conversion timestamps to see the lag (email converts fast, SEO converts slow — that's normal, not a bug).
  • Retargeting intelligence. A campaign link with high clicks and low conversion is either an offer mismatch or a broken destination — the A/B testing guide shows how to test which.

Handling offline channels

QR codes and print don't fire destination events in the same way. The bridges:

  • QR → tagged URL. utm_source=qr makes print scans visible in the conversion report.
  • Promo codes. A printed code is a conversion event when redeemed — the offline equivalent of a tracked click.
  • Phone call tracking. For phone-first businesses, a printed number variant per campaign acts as the conversion event.

The mistakes to avoid

  • Untagged traffic polluting "direct". Every channel without a tag collapses into direct — untrackable. Tag QR, print, SMS, and in-person links.
  • Comparing click counts across channels with different bot mixes. Bot filtering removes the worst skew.
  • Optimizing clicks, not conversions. The channel with the most clicks is rarely the channel with the best CVR — the table above is the proof.

Conclusion

Conversion tracking is a join between the link layer and the destination layer, with UTM parameters as the key. Tag at creation, fire events at conversion, slice by channel — and the reports stop being about traffic and start being about value. The campaign manager enforces the tagging half; the analytics API supplies the click truth for the join.

Frequently asked questions

Can yas.sh track conversions by itself?

It tracks clicks precisely; conversions happen on the destination, so they're tracked destination-side (GA4, your analytics, a form webhook) and joined to clicks via UTM parameters.

What's the minimum setup for conversion tracking?

UTM-tag every campaign link, fire a conversion event on the destination, and slice conversions by source/medium/campaign. That's the whole loop.

What is a good click-to-conversion rate?

It's channel- and offer-specific — email might convert 2–5%, a checkout page 30%+. Don't benchmark against strangers; benchmark against your own channels.

How do I handle QR/print conversions?

Tag the QR's destination with utm_source=qr. Offline conversions (store visits) need a bridge — promo codes on the printed piece work well.

Was this helpful? Share
🍪 Cookies & privacy. yas.sh uses only essential cookies to keep you signed in and remember your preferences. We do not run third-party trackers. See our cookie policy and privacy policy.
Settings