influencer-tracking
Measure influencer campaign ROI by generating unique UTM links per creator, attributing sales, and reporting revenue against campaign spend
Best use case
influencer-tracking is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Measure influencer campaign ROI by generating unique UTM links per creator, attributing sales, and reporting revenue against campaign spend
Teams using influencer-tracking should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/influencer-tracking/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How influencer-tracking Compares
| Feature / Agent | influencer-tracking | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Measure influencer campaign ROI by generating unique UTM links per creator, attributing sales, and reporting revenue against campaign spend
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Influencer Tracking
## Overview
Influencer marketing drives significant revenue but is notoriously difficult to attribute because customers often see a post, leave the platform, and purchase days later through a direct or organic channel. The solution is using both UTM links (for web traffic) and unique discount codes (for purchase attribution) together — these two signals complement each other and provide reliable attribution across devices. Most of this setup requires no custom code.
> **Note:** For full influencer campaign management (discovery, briefs, deliverables), see @influencer-marketplace-integration. This skill focuses purely on attribution and analytics.
## When to Use This Skill
- When managing 10+ influencer partnerships and tracking them in a spreadsheet
- When needing to prove ROI of influencer spend to leadership with first-party data
- When running gifting campaigns and needing to separate organic versus paid post attribution
- When comparing performance across platforms (Instagram, TikTok, YouTube) in a single dashboard
## Core Instructions
### Step 1: Set up UTM links for each creator
Create a unique UTM link for every influencer and campaign combination. Use Google's Campaign URL Builder at `ga-dev-tools.google.com/campaign-url-builder`:
| UTM Parameter | Value | Example |
|--------------|-------|---------|
| `utm_source` | Social platform | `instagram`, `tiktok`, `youtube` |
| `utm_medium` | Always `influencer` | `influencer` |
| `utm_campaign` | Campaign name | `spring-2026`, `black-friday` |
| `utm_content` | Creator handle | `janedoe`, `johndoe_fitness` |
Example URL: `yourstore.com/?utm_source=instagram&utm_medium=influencer&utm_campaign=spring-2026&utm_content=janedoe`
**Shorten the link** for Instagram bio use: use Bitly or a custom short domain. Store the mapping between short URL and UTM parameters in a spreadsheet.
**Important**: give influencers the shortened link and instruct them to place it in their link-in-bio, not in the post caption (Instagram captions do not have clickable links).
### Step 2: Create unique discount codes for each creator
Discount codes capture purchases that happen via direct/organic after the initial influencer visit — the UTM link alone misses these.
---
#### Shopify
1. Go to **Shopify Admin → Discounts → Create Discount → Amount off order**
2. Configure:
- **Discount code**: `JANEDOE15` (creator handle + percentage)
- **Discount type**: Percentage — 15%
- **Applies to**: All products (or specific collections if needed)
- **Minimum purchase requirement**: $30 (to ensure positive ROI)
- **Usage limits**: Enable "Limit to one use per customer"
- **Active dates**: Set campaign start and end date
3. Click Save and send the code to the influencer
**Pro tip**: Use Shopify Flow (Plus) or an app like **Glew** to automatically tag orders using a specific discount code with the influencer's name — this makes attribution reporting easier.
---
#### WooCommerce
1. Go to **WooCommerce → Marketing → Coupons → Add coupon**
2. Configure:
- **Coupon code**: `JANEDOE15`
- **Discount type**: Percentage discount — 15%
- **Minimum spend**: $30
- **Usage limit per user**: 1
- **Coupon expiry date**: Campaign end date
3. Under **Restrictions → Allowed emails**: optionally limit to new customers only
---
#### BigCommerce
1. Go to **BigCommerce Admin → Marketing → Promotions → Create Promotion**
2. Set coupon code, discount amount, and usage limits
3. Set an expiry date matching the campaign end date
---
### Step 3: Track attribution in Google Analytics 4
For all platforms, UTM tracking works through GA4 automatically:
1. In **GA4 → Reports → Acquisition → Traffic Acquisition**: filter by `Session medium = influencer` to see all influencer-driven sessions
2. In **GA4 → Reports → Acquisition → Traffic Acquisition**: add `Session campaign` as a secondary dimension to compare by campaign
3. In **GA4 → Explore → Free Form**: build a report with `utm_content` as a dimension to compare creator performance
**See influencer-attributed revenue:**
1. Go to **GA4 → Reports → Monetization → Ecommerce Purchases**
2. Filter by `utm_medium = influencer`
3. Add `utm_content` as a dimension to see revenue per creator
### Step 4: Track discount code revenue
---
#### Shopify
1. Go to **Shopify Admin → Analytics → Reports → Discounts → Discount codes**
2. Filter by creator-specific codes to see revenue, order count, and usage per influencer
3. For a comparison view: **Analytics → Custom Reports → Orders** → group by discount code
---
#### WooCommerce
1. Go to **WooCommerce → Analytics → Coupons**
2. Filter by influencer-specific coupon codes to see revenue and orders
3. Or install **Metorik** ($50/mo) for more advanced coupon attribution reporting
---
### Step 5: Build a creator performance tracker
Combine UTM revenue (from GA4) and discount code revenue (from Shopify/WooCommerce) in a single tracking spreadsheet:
| Creator | Platform | Campaign | UTM Revenue | Code Revenue | Total Revenue | Cost | ROAS |
|---------|---------|---------|------------|-------------|--------------|------|------|
| @janedoe | Instagram | Spring 2026 | $840 | $1,200 | $2,040 | $500 | 4.1x |
| @johndoe | TikTok | Spring 2026 | $320 | $680 | $1,000 | $300 | 3.3x |
**ROAS calculation**: Total Revenue ÷ Campaign Cost (flat fee + COGS of gifted product + commission paid)
**Normalize by reach** for fair comparison between micro and macro influencers:
- Revenue per 1,000 followers = Total Revenue / (Follower Count / 1,000)
- This metric often reveals that micro-influencers outperform macro-influencers significantly
### Step 6: For headless stores — capture first-touch attribution
Standard last-click UTM attribution in GA4 misses influencer impact. Capture first-touch UTM data server-side:
```typescript
// On page load, store the first UTM touch in a session cookie
function captureFirstTouchUTM() {
const params = new URLSearchParams(window.location.search);
if (!params.get('utm_source')) return;
// Only store if no first-touch already captured this session
if (!sessionStorage.getItem('first_touch_utm')) {
sessionStorage.setItem('first_touch_utm', JSON.stringify({
utm_source: params.get('utm_source'),
utm_medium: params.get('utm_medium'),
utm_campaign: params.get('utm_campaign'),
utm_content: params.get('utm_content'),
landed_at: new Date().toISOString(),
}));
}
}
// At checkout, include first-touch UTM in the order metadata
// Store in your order database for reporting
```
## Best Practices
- **Always use both UTM links and promo codes** — UTM tracks web traffic; codes capture purchases that happen days later via direct or organic
- **Use `utm_content` for the influencer handle** — this lets you compare performance by creator within a single campaign (e.g., 20 influencers in the same spring campaign)
- **For Instagram, links must go in bio** — give influencers a link-in-bio URL and tell them to reference "link in bio" in their caption; caption links are not clickable
- **Set campaign end dates on promo codes** — expires influencer discounts automatically and prevents long-term code sharing on coupon sites
- **Track gifting value as campaign cost** — gifted products have COGS; include this in your ROAS calculation
- **Compare EMV (Earned Media Value) alongside revenue** — high-reach posts with lower conversion may still justify spend as brand awareness
## Common Pitfalls
| Problem | Solution |
|---------|----------|
| Promo codes shared on coupon/deal sites | Add per-customer usage limit (1 per customer) and monitor daily usage velocity for spikes |
| UTM attribution lost when customer uses a different device | Supplement UTM tracking with promo codes as a device-agnostic signal |
| No way to compare micro-influencers vs. macro-influencers fairly | Calculate revenue per 1,000 followers (normalized RPM) to compare across follower counts |
| Influencer posts after campaign end date | Add a 7-day grace period to your code expiry; store `first_attributed_order_at` to detect late posts |
| GA4 shows organic instead of influencer for returning customers | Use first-touch attribution model in GA4 Explore or compare against discount code data |
## Related Skills
- @influencer-marketplace-integration
- @affiliate-program
- @marketing-attribution-dashboard
- @social-commerce
- @ugc-campaign-managementRelated Skills
influencer-marketplace-integration
Connect to influencer networks to discover creators, manage campaign briefs, track deliverables, and measure ROI across Instagram, TikTok, and YouTube
shipment-tracking
Give customers live package tracking by aggregating carrier status updates via webhooks and sending proactive delivery notifications
unit-economics-tracking
Track customer acquisition cost, lifetime value, payback period, and contribution margin by cohort and channel with profitability benchmarks and trend analysis
inventory-tracking
Track stock levels in real time across your platform with inventory reservation to prevent overselling and support for backorders
cogs-tracking-allocation
Track cost of goods sold and landed costs using your platform's built-in tools or accounting integrations to compute accurate gross margin per order
wishlist-save-for-later
Let shoppers save products to a wishlist, share it with friends, and get notified when saved items come back in stock or drop in price
storefront-theming
Build a themeable storefront with design tokens and CSS custom properties that supports white-labeling, multi-brand variants, and dark mode
search-autocomplete
Speed up product discovery with instant search suggestions, fuzzy typo matching, and category-aware results powered by Algolia or Elasticsearch
responsive-storefront
Build a mobile-first storefront with thumb-friendly navigation, sticky add-to-cart buttons, and touch-optimized components for high mobile conversion
recently-viewed-products
Show shoppers the products they recently browsed using browser storage so they can easily pick up where they left off on your store
quick-view-modal
Let shoppers preview product details and add items to cart from the listing page without navigating away, reducing friction in the shopping flow
product-page-design
Design high-converting product detail pages with image galleries, variant selectors, social proof, and clear calls-to-action that drive add-to-cart