Setup
Google Ads and Lemon Squeezy: match ad clicks to orders
Keep Google Ads auto-tagging on, put a campaign name in your tracking template, and connect Lemon Squeezy so each order carries the visitor's session. You then see which campaigns produced orders that reached Lemon Squeezy.
Thexly doesn't upload conversions to Google Ads. Matched orders show up in Thexly, so you can hold them up against what Google Ads reports.
What you need
Google Ads access to edit account, campaign or ad group settings.
A Lemon Squeezy account with dashboard access (Thexly Lemon Squeezy guide).
The Thexly tracking script on your site (docs).
What we checked, and how
On 16 October 2026 we read Lemon Squeezy's custom data docs and Google's ValueTrack table, looking for the one field that carries a click to an order. On the Lemon Squeezy side, data you pass at checkout comes back in webhooks for orders, subscriptions and license keys, inside a custom_data object in the meta field (Lemon Squeezy docs). That's where Thexly's session travels. On the Google side, {campaignid} is "Fully supported" in Performance Max while {gclid} has "Limited support" (Google Ads help).
Step 1: tag the ad clicks in Google Ads
Leave auto-tagging switched on. Google says it's on by default for new accounts and adds a GCLID to the URL people click through, like www.example.com/?gclid=123xyz (Google Ads help).
Set a tracking template on each campaign. It must include {lpurl}, which inserts your final URL (Google Ads help). An illustrative template, with the campaign's name typed in:
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign=brand-search
You could use {campaignid} instead, but Thexly shows utm_campaign exactly as it arrives. An ID would appear as a bare number with no campaign name, so the typed name is easier to read later.
When the visitor lands, Thexly saves the UTM tags and Google's gclid from the URL and labels gclid clicks as Google Ads. You don't connect a Google account.
If the Thexly script on that page has data-exclude-search turned on, it drops all UTM tags and click IDs such as gclid, so Thexly can't tie those visits to your campaigns. Leave that setting off where ads land.
Step 2: connect Lemon Squeezy
1. In Lemon Squeezy, go to Settings → API and create a new API key.
2. Give it a clear name; you can't rename it later.
3. Copy it straight away. It's shown only once.
4. Paste it into Thexly under Settings → Payments → Lemon Squeezy.
Lemon Squeezy has no read-only or scoped key today, so the key has full account access. Thexly only makes read requests with it, plus registering its own webhook. It never creates, modifies or refunds an order (Thexly Lemon Squeezy guide).
Orders come in through that webhook from the time you connect. Earlier orders aren't imported.
Step 3: pass the session at checkout
A normal link to a Lemon Squeezy /checkout/buy/ URL: the script adds the visitor's session before the click. No code needed.
A button, or a checkout your JavaScript opens: add the session yourself. Read it with window.thexly.getSessionId() and put it on the checkout URL as checkout[custom][thexly_session_id].
A checkout URL your server builds: same field, checkout[custom][thexly_session_id] (Thexly Lemon Squeezy guide).
Subscriptions and renewals
A subscription's first charge is counted from its order. Later renewals come through Lemon Squeezy's subscription payment webhooks, carrying the same custom data, so they match back to the original session.
Check it works
1. Open your landing page with the template's parameters filled in by hand, for example ?utm_source=google&utm_medium=cpc&utm_campaign=brand-search.
2. Look for the visit in your Thexly dashboard.
3. Check that the checkout link on the page now carries the session. For a button, check your code adds it.
4. Place a test order, or wait for the first real one, and confirm it shows the campaign.
What Thexly does and doesn't do
Thexly matches each order to the visit that led to it and credits one channel, first or last, chosen per website (docs).
It doesn't upload conversions to Google Ads, doesn't change your bidding or ad settings, and doesn't pull spend from Google Ads.
See how far Google's reported revenue sits from your orders with the platform vs payment gap calculator. More: Google Ads reporting. There's a 14-day trial, no card needed.
FAQ