How to Set Up Podcast Conversion Tracking (Step by Step)
Setting up podcast conversion tracking properly takes about 30 minutes. Done right, it will tell you exactly which shows and creators are driving revenue. Done wrong (or not at all), you'll spend thousands on podcast ads without knowing which ones actually work.
This is the exact setup process, step by step.
What You Need Before You Start
Before you begin:
- Access to your website's HTML (or a tag manager like Google Tag Manager)
- A Castlytics account (free to start)
- At least one podcast campaign planned or underway
- If using Shopify: admin access to your store
You don't need to set everything up perfectly before your first campaign goes live. But you do need the tracking script installed before any ad impression happens — you can't retroactively attribute conversions.
Step 1: Install the Tracking Script
The tracking script is a small piece of JavaScript that runs on every page of your website. It handles three things automatically: setting a first-party visitor ID, detecting when someone arrives via a vanity path, and recording link click events when visitors arrive from campaign links.
Add this snippet inside the <head> tag of every page on your site:
<!-- Castlytics Tracking Script -->
<script
src="https://castlytics.app/tracker.js"
data-workspace-key="YOUR_WORKSPACE_KEY"
defer>
</script>
Replace YOUR_WORKSPACE_KEY with the key from your Settings page.
Using Google Tag Manager? Create a new Custom HTML tag, paste the snippet, and set the trigger to "All Pages". Publish the container.
Using Shopify? Go to Online Store → Themes → Edit code → theme.liquid and add the snippet just before </head>.
Using WordPress? Add the snippet to your theme's header.php or use a plugin like "Insert Headers and Footers".
The script is ~3KB and loads with defer, meaning it never blocks your page from rendering.
Step 2: Create Your First Campaign
In your Castlytics dashboard, click New Campaign and fill in:
Campaign name: Something descriptive — "The Leverage Pod Q1 2025" is better than "Podcast 1".
Creator and channel: The show name and channel type (podcast, YouTube, newsletter, etc.).
Destination URL: The landing page you want listeners to visit. This is where your tracking link will redirect to.
Attribution window: How many days after a click should a conversion still be credited to this campaign? Use 30 days as a default. For high-consideration purchases (B2B, high-ticket products), use 60 days.
Campaign cost: Enter your total ad spend for this placement. This enables automatic ROAS calculation.
Vanity path: The path on your domain you'll use for this campaign. If you give the host yourbrand.com/tim, enter /tim here. The tracker will detect landings on this path automatically.
Promo code: The discount code you'll ask the host to read on-air. Each campaign should have a unique code — never share codes across campaigns.
Once saved, you'll receive:
- A unique tracking link (
castlytics.app/r/abc123) - A shareable campaign card you can send to the host
Step 3: Add a Conversion Event
The tracking script records when visitors arrive at your site, but it needs to know when they convert. You add this by firing a conversion event on your purchase confirmation page.
For a standard website:
Add this snippet to your order confirmation or "thank you" page:
<script>
castlytics.conversion({
type: 'purchase', // 'purchase' | 'signup' | 'lead'
revenue: 99.00, // actual order value
currency: 'USD'
});
</script>
For dynamic revenue values (different for every order), use your template engine to inject the actual order amount:
<script>
castlytics.conversion({
type: 'purchase',
revenue: {{ order.total }}, // replace with your template syntax
currency: 'USD'
});
</script>
For Shopify:
Connect your Shopify store from Settings → Integrations. Castlytics will automatically sync orders and coupon code data. You don't need to add any conversion code to your Shopify checkout — the integration handles everything.
For WooCommerce:
Add the conversion event to your WooCommerce order-received page template, or use the provided WooCommerce plugin.
For SaaS (tracking signups):
If you're a SaaS product tracking free trial signups, fire the conversion event on your post-signup page:
castlytics.conversion({
type: 'signup',
revenue: 0 // or your expected LTV
});
Step 4: Verify Your Setup
Before any ad campaign goes live, verify your setup works correctly.
Test 1: Click attribution
- In your Castlytics dashboard, find your campaign and copy the tracking link
- Open an incognito browser window
- Click the tracking link — it should redirect to your destination URL
- On the destination page, browse around for a moment
- Complete a test conversion (or use your test mode if available)
- Check your Castlytics dashboard — within a minute or two, you should see a new click and conversion
Test 2: Vanity path attribution
- Open a fresh incognito window (not one where you previously clicked the tracking link)
- Navigate directly to your vanity path (e.g.,
yourbrand.com/tim) - Browse to your conversion page and complete a conversion
- Check that the vanity visit and conversion are recorded
Test 3: Promo code attribution
- Open a fresh incognito window
- Navigate directly to your homepage without clicking any campaign link
- Go through checkout and use your campaign promo code
- Check that the conversion is attributed to the correct campaign via promo code
If all three tests pass, your setup is complete.
Step 5: Brief Your Host
Once your campaign is set up, send the host:
- The vanity path they should read on-air:
yourbrand.com/tim(not the tracking link — that's for links in show notes, not reading aloud) - The promo code to mention in the ad
- The tracking link for placement in show notes and episode description
Make it easy for the host by preparing a simple brief with the exact phrasing for the ad read.
Step 6: Monitor During the Campaign
Once your ad is live, check your attribution dashboard weekly. Look at:
- Click trend: Are show notes clicks happening steadily or in a spike at launch?
- Vanity path visits: Are listeners typing the URL? Low vanity visits vs. high promo code usage suggests your audience is listening but not clicking links
- Conversion delay: How quickly are listeners converting? This tells you whether your attribution window is set correctly
- ROAS: Revenue attributed to this campaign divided by your ad spend
Don't make decisions in the first week. Give campaigns at least 30 days to show their full performance picture.
Common Setup Mistakes
Installing the script only on some pages. The tracking script must be on every page. If it's missing from your cart or checkout pages, conversion events may not fire correctly.
Using the same promo code across multiple campaigns. If two shows share the same code, you can't tell which drove which sale. Unique codes are non-negotiable.
Not testing before the campaign goes live. Ads go live and start driving listeners immediately. If your tracking is broken, you can't retroactively recover that data.
Setting attribution window to 7 days. Most podcast-driven purchases happen 7–21 days after the ad. A 7-day window misses a significant portion of conversions. Default to 30 days.
Firing the conversion event on the wrong page. Make sure it fires on the actual confirmation/thank-you page, not the cart or checkout page. Cart additions are not conversions.
What You'll See After 30 Days
After your first full attribution window, your campaign report will show:
- Total clicks (from the tracking link in show notes)
- Total vanity path visits (from people typing the URL)
- Total promo code conversions (from checkout code usage)
- Total attributed revenue (via last-touch attribution + promo code fallback)
- ROAS (revenue ÷ campaign cost)
- Average conversion delay (days between first click/visit and purchase)
This data tells you whether the campaign was profitable, and — when compared across campaigns — which shows and host types deliver the best return for your specific audience.
Getting to this data requires setting up tracking before the campaign runs. The 30 minutes you invest now is the difference between knowing and guessing.
Ready to track your podcast ad ROI?
Castlytics gives you per-campaign attribution, real-time ROI, and listener journey analytics — free to get started.
Start free — no credit card