Skip to main content

Why Tracking Matters

Without proper tracking, you’re flying blind. Good attribution tells you:
  • Which partners drive revenue — and which don’t
  • What funnels convert best — so you can optimize
  • Where traffic comes from — to understand the journey
  • How customers behave — to improve the experience
  • What’s your ROI — on partner program investment

The Attribution Stack

What to Track

StageMetricsWhy It Matters
AwarenessImpressions, link sharesPartner reach
TrafficSessions, unique visitorsPartner engagement
EngagementPages/session, time on siteTraffic quality
ConversionAdd to cart, checkoutPurchase intent
RevenueOrders, AOV, revenueBusiness impact
RetentionRepeat purchase, LTVLong-term value

Attribution Points

Partner Link Click
       ↓ (UTM parameters, referrer)
Landing Page View
       ↓ (cart attributes set)
Product Views
       ↓ (events tracked)
Add to Cart
       ↓ (cart attributes persist)
Checkout
       ↓ (discount code applied)
Purchase
       ↓ (order tagged)
Post-Purchase
       ↓ (customer tagged)
Retention

Setting Up UTM Parameters

Standard UTM Structure for Partners

https://yourstore.com/pages/creators/sarah?
  utm_source=partner&
  utm_medium=affiliate&
  utm_campaign=sarah-jones&
  utm_content=instagram-bio
ParameterValuePurpose
utm_sourcepartnerIdentifies partner channel
utm_mediumaffiliateTraffic type
utm_campaignpartner-handleWhich partner
utm_contentlink-locationWhere link was placed
Create links per partner with UTM builder.Best for: Small programs, testing

Cart Attribute Tracking

Setting Attributes on Landing

When visitor arrives via partner link, store context in cart:
{% if request.path contains '/creators/' %}
  {% assign cc_handle = request.path | split: '/creators/' | last | split: '?' | first %}
  
  <script>
    // Set cart attributes via AJAX
    fetch('/cart/update.js', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        attributes: {
          'cc-creator-handle': '{{ cc_handle }}',
          'cc-landing-page': window.location.pathname,
          'cc-landing-time': new Date().toISOString()
        }
      })
    });
  </script>
{% endif %}

Attributes to Track

AttributeValueUse
cc-creator-handlePartner identifierPrimary attribution
cc-discount-codePartner’s codeDiscount tracking
cc-landing-pageFirst page visitedFunnel analysis
cc-landing-timeTimestampSession analysis
cc-utm-sourceUTM source valueTraffic source
cc-utm-campaignUTM campaign valueCampaign tracking

Google Analytics 4 Setup

Custom Events

Track partner-specific events:
// Partner page view
gtag('event', 'partner_page_view', {
  partner_handle: 'sarah-jones',
  partner_tier: 'gold',
  page_type: 'creator_landing'
});

// Add to cart from partner page
gtag('event', 'add_to_cart', {
  partner_handle: 'sarah-jones',
  currency: 'USD',
  value: 49.99,
  items: [{ item_id: 'SKU123', item_name: 'Product Name' }]
});

// Purchase with partner attribution
gtag('event', 'purchase', {
  partner_handle: 'sarah-jones',
  partner_discount_code: 'SARAH15',
  transaction_id: 'ORDER123',
  value: 149.99,
  currency: 'USD'
});

Custom Dimensions

Set up custom dimensions in GA4:
DimensionScopeValue
Partner HandleEventPartner identifier
Partner TierEventBronze/Silver/Gold
Discount CodeEventCode used
Partner RevenueEventOrder value

Creating Partner Reports

Build reports showing:
  • Traffic by partner
  • Conversion rate by partner
  • Revenue by partner
  • AOV by partner
  • Partner comparison over time

Shopify Analytics Integration

Order Tagging

Automatically tag orders for easy filtering:
{% comment %} In Shopify Flow or via API {% endcomment %}
Tags to add:
- cc-partner:{{ order.attributes['cc-creator-handle'] }}
- cc-discount:{{ order.discount_codes.first.code }}
- cc-attributed

Admin Filtering

With proper tagging, filter orders in Shopify admin:
  • Search: tag:cc-partner:sarah-jones
  • Export: Partner-specific order reports
  • Analyze: Revenue by partner

Shopify Reports

Create custom reports:
ReportFiltersMetrics
Partner SalesTag contains “cc-partner”Orders, Revenue, AOV
Partner by DiscountDiscount codeOrders, Revenue
Partner CustomersCustomer tag “cc-acquired”Customer count, LTV

Third-Party Attribution Tools

Triple Whale

Best for: Full-funnel attribution, ad spend correlation Setup:
  • Install Triple Whale pixel
  • Configure partner source identification
  • Build partner-specific dashboards

Northbeam

Best for: Multi-touch attribution modeling Setup:
  • Implement Northbeam tracking
  • Define partner touchpoints
  • Analyze partner contribution to conversions

Rockerbox

Best for: Marketing attribution, channel mix Setup:
  • Rockerbox pixel implementation
  • Partner channel configuration
  • Cross-channel attribution reports

Building a Partner Dashboard

Metrics to Display

What partners want to see:
  • Clicks to their page
  • Conversion rate
  • Orders attributed
  • Revenue generated
  • Commission earned
  • Comparison to last period

Dashboard Tools

ToolBest For
Looker/Data StudioCustom dashboards from GA4/BigQuery
KlaviyoEmail attribution dashboards
SpreadsheetsSimple tracking, manual updates
Custom BuildFull control, branded experience

Debugging Attribution Issues

Common Problems

Symptoms: Orders have partner discount code but no attributionCauses:
  • Cart attributes not set on landing
  • Attributes cleared during checkout
  • Customer used direct link instead of partner link
Fixes:
  • Verify cart attribute setting script
  • Check if checkout clears attributes
  • Use discount code as backup attribution
Symptoms: Same order attributed to multiple partnersCauses:
  • Customer visited multiple partner pages
  • Attribution not updating properly
  • Multiple discount codes applied
Fixes:
  • Define attribution rules (first touch vs. last touch)
  • Clear previous attribution on new partner visit
  • Document attribution logic
Symptoms: Partners report shares but no traffic showsCauses:
  • UTM parameters stripped
  • Ad blockers preventing tracking
  • Wrong page being tracked
Fixes:
  • Verify UTM parameters persist
  • Use server-side tracking for accuracy
  • Implement first-party tracking

Testing Your Tracking


Privacy Considerations

  • Ensure tracking respects cookie consent preferences
  • Use first-party tracking where possible
  • Document what data is collected

Data Retention

  • Define how long attribution data is stored
  • Comply with GDPR/CCPA requirements
  • Provide data deletion capability

Quick Start Checklist