Sales & Conversion

How I Fixed the "Dark Funnel" Problem with UTM Parameters (And Why Most Shopify Stores Get This Wrong)


Personas

Ecommerce

Time to ROI

Short-term (< 3 months)

OK, so here's something that drives me absolutely crazy. I was working with this Shopify client, and they were spending thousands on Facebook ads. The ROAS looked decent on paper—around 2.5. But when we dug deeper into their actual attribution, we discovered a nightmare scenario that most e-commerce stores are living with right now.

Their Facebook dashboard was claiming credit for conversions that were actually happening through other channels. SEO was driving traffic, email was nurturing leads, but Facebook's attribution model was taking all the glory. Sound familiar?

This is what I call the "dark funnel" problem. Your customers are bouncing between channels—Google search, social media, email, retargeting ads—but you can't see the real journey. Without proper UTM tracking, you're basically flying blind, making budget decisions based on lies.

In this playbook, I'll walk you through the exact UTM parameter system I developed after working with dozens of Shopify stores. You'll learn how to:

  • Set up UTM parameters that actually reveal your customer journey

  • Track which touchpoints truly drive conversions (not just last-click attribution)

  • Build custom dashboards that show real ROAS across all channels

  • Avoid the common UTM mistakes that break your tracking completely

  • Scale this system across multiple campaigns and team members

This isn't another "use UTM parameters" guide. This is the complete system I wish I'd had when I was trying to figure out why my clients' attribution was so broken. Let's fix your dark funnel problem once and for all.

Industry Reality

What every Shopify store owner has been told

Walk into any e-commerce marketing discussion, and you'll hear the same advice repeated like a broken record: "Just use UTM parameters." The standard wisdom goes something like this:

  1. Use the Google Campaign URL Builder - They'll tell you to go to Google's free tool, plug in your campaign details, and boom—you're tracking everything.

  2. Track source, medium, and campaign - The basics: utm_source=facebook, utm_medium=cpc, utm_campaign=black-friday-sale. Simple, right?

  3. Check Google Analytics for results - Look at your acquisition reports and make decisions based on what you see there.

  4. Focus on last-click attribution - Whichever UTM parameter shows up last gets the credit for the conversion.

  5. Use consistent naming conventions - Keep everything lowercase, use dashes instead of spaces, be organized.

This advice isn't wrong—it's just criminally incomplete. The problem is that most Shopify store owners implement this basic setup and then wonder why their attribution is still a mess.

Here's what the conventional wisdom misses: modern customer journeys are messy. Your customer might see a Facebook ad, search for your brand on Google, read your email newsletter, come back through a retargeting ad, and finally purchase through an organic search. Which channel gets the credit? Usually, it's just the last one.

The real issue is that traditional UTM setups are designed for a linear world that doesn't exist anymore. They work great for simple campaigns but fall apart completely when you're running multiple channels simultaneously. And if you're a growing Shopify store, you're definitely running multiple channels.

That's why I had to build a completely different approach—one that actually maps to how customers behave in 2025, not 2015.

Who am I

Consider me as your business complice.

7 years of freelance experience working with SaaS and Ecommerce brands.

Let me tell you about a project that completely changed how I think about attribution. I was working with a Shopify store selling premium kitchen appliances—average order value around €200, decent margins, but they were struggling to scale their Facebook ads profitably.

When I first looked at their setup, everything seemed fine on the surface. They had UTM parameters on their Facebook ads, Google Analytics was tracking conversions, and their ROAS was sitting at 2.5. Not amazing, but workable for their margins.

But here's what bothered me: their organic traffic was growing month over month, their email list was engaged, and their brand searches were increasing. Yet Facebook was claiming credit for most of their revenue growth. Something didn't add up.

I decided to dig deeper into their customer journey data. What I discovered was shocking: Facebook's attribution model was claiming credit for conversions that happened days or even weeks after the initial ad click. A customer would see a Facebook ad, maybe click through to browse, leave without buying, then return later through a Google search and purchase. Facebook was taking full credit for that sale.

The real problem wasn't their ads—it was their attribution system. They had no way to see the actual customer journey. Their UTM setup was basic: utm_source=facebook, utm_medium=cpc, utm_campaign=kitchen-appliances. That's it. No way to track which specific ad creative drove the initial awareness, no way to see cross-channel behavior, no way to understand what was actually working.

This is when I realized that most Shopify stores are making budget decisions based on incomplete data. They're over-investing in channels that look good in last-click attribution while under-investing in channels that actually drive awareness and consideration.

I knew I had to build a tracking system that could reveal the real customer journey—not just the last click before purchase.

My experiments

Here's my playbook

What I ended up doing and the results.

OK, so here's the exact UTM parameter system I developed for this client, and now use for all my Shopify projects. This isn't just about adding more UTM parameters—it's about building a tracking architecture that actually maps to customer behavior.

Step 1: The Multi-Touch UTM Framework

Instead of basic UTM parameters, I created a system with additional tracking layers:

  • utm_source: The platform (facebook, google, email, instagram)

  • utm_medium: The channel type (cpc, social, email, organic)

  • utm_campaign: The campaign name (black-friday-2024)

  • utm_content: The specific ad or creative (video-ad-1, carousel-lifestyle)

  • utm_term: The audience or keyword (lookalike-75, retargeting-cart)

But here's where it gets interesting. I also added custom parameters:

  • utm_customer_stage: awareness, consideration, conversion, retention

  • utm_touchpoint: first, middle, last (to track position in journey)

Step 2: The Naming Convention System

I created a structured naming convention that anyone on the team could follow:

Campaign structure: [platform]_[product-category]_[objective]_[date]
Example: fb_kitchen_awareness_nov24, google_appliances_conversion_q4

Ad content structure: [format]_[theme]_[version]
Example: video_lifestyle_v1, carousel_product_v2

Step 3: Cross-Channel Journey Mapping

The real breakthrough came when I set up cross-channel tracking. Using Google Analytics 4's enhanced e-commerce events, I could see when someone clicked a Facebook ad (utm_touchpoint=first), then later searched for the brand (utm_touchpoint=middle), and finally converted through email (utm_touchpoint=last).

I built custom audiences in Facebook based on UTM data, so we could create specific retargeting campaigns for people who had engaged with different touchpoints. Someone who clicked a awareness video ad got different retargeting than someone who abandoned their cart.

Step 4: The Attribution Dashboard

Instead of relying on platform-specific attribution, I created a custom dashboard in Google Analytics 4 that showed:

  • First-touch attribution (what drove initial awareness)

  • Last-touch attribution (what closed the sale)

  • Multi-touch attribution (all touchpoints in the journey)

  • Time decay attribution (giving more credit to recent touchpoints)

This revealed the true performance of each channel and campaign, not just the last-click story.

Campaign Architecture

Structured naming that scales across teams and platforms

Attribution Models

First-touch, last-touch, and multi-touch tracking for complete journey visibility

Audience Segmentation

Custom retargeting based on UTM touchpoint data and customer stage

Dashboard Setup

Real-time attribution reporting that reveals true channel performance

The results were transformative. Within 30 days of implementing this new UTM system, we could see the real customer journey for the first time. What we discovered completely changed their media buying strategy.

Facebook ads were excellent at driving initial awareness—much better than we thought. But the conversion attribution was inflated because people were actually purchasing through branded search and email follow-ups. Google Ads, which looked expensive in last-click attribution, were actually incredibly efficient at capturing people who had already been warmed up by Facebook.

The client shifted 30% of their budget from "high-converting" Facebook campaigns to awareness campaigns and increased their Google Ads spend for branded terms. The result? Overall ROAS increased from 2.5 to 3.8 while maintaining the same total ad spend.

More importantly, they finally had visibility into what was actually working. They could see that their video ads were driving better initial engagement than carousel ads, even though carousel ads had better last-click attribution. They could track which email sequences were most effective at converting people who had previously engaged with ads.

The time savings were huge too. Instead of spending hours trying to reconcile different platform reports, they had one dashboard that showed the complete customer journey. Budget decisions became data-driven instead of guesswork.

Learnings

What I've learned and the mistakes I've made.

Sharing so you don't make them.

Here are the key lessons I learned from implementing UTM tracking systems across multiple Shopify stores:

  1. Attribution lies, but customer journeys don't - Every platform wants to claim credit for conversions. The only way to see reality is to track the complete journey yourself.

  2. Awareness campaigns are undervalued - When you can track first-touch attribution, you often discover that "low-converting" awareness campaigns are actually your most valuable traffic drivers.

  3. Consistency beats perfection - It's better to have a simple UTM system that everyone follows than a complex system that gets implemented inconsistently.

  4. Custom parameters unlock insights - Adding utm_customer_stage and utm_touchpoint parameters provides exponentially more insights than basic UTM tracking.

  5. Cross-channel optimization is the real opportunity - Once you can see the complete journey, you can optimize how channels work together, not just individual channel performance.

  6. Team training is critical - If your team doesn't understand the UTM system, they'll create inconsistent tracking that breaks your attribution analysis.

  7. Start simple, then expand - Implement basic multi-touch tracking first, then add custom parameters as you get comfortable with the data.

The biggest mistake I see Shopify stores make is trying to implement complex attribution systems before they have the basics right. Master the fundamentals first, then layer on advanced tracking as your team grows more sophisticated.

How you can adapt this to your Business

My playbook, condensed for your use case.

For your SaaS / Startup

For SaaS companies:

  • Track utm_customer_stage (trial, demo, signup) to optimize funnel performance

  • Use utm_content to test different value propositions and messaging

  • Implement cross-channel retargeting based on UTM touchpoint data

  • Focus on multi-touch attribution for longer sales cycles

For your Ecommerce store

For e-commerce stores:

  • Track utm_touchpoint to understand awareness vs conversion channels

  • Use utm_content to identify top-performing creative formats and themes

  • Implement product-specific UTM tracking for category-level optimization

  • Set up automated UTM generation for scaled campaign management

Get more playbooks like this one in my weekly newsletter