Affiliate tracking for pools: UTMs, conversion events, and reporting
By Dirk Menkveld on Monday, March 23, 2026
Affiliate tracking for pools: what it means
Affiliate tracking helps you see results from shared links. It shows which person, post, or channel drove a join, a sign-up, or a paid entry.
This matters for pools built around Fantasy Football (is Prediction Game in English). Here, fantasy football means predicting match results. It is not about picking players for a squad.
The simple tracking stack
You only need three parts:
- UTMs on links (so traffic has labels)
- Conversion events (so actions get counted)
- Reporting (so you can read the story)
When you use all three, you can answer basic questions fast:
- Which link brought the most people?
- Which channel brought the most paid entries?
- Which creator or friend group drove the best results?
UTMs: the labels you add to links
A UTM is a short set of tags added to a URL. These tags tell your analytics tool where a click came from.
Common UTM fields:
utm_source: who sent the traffic (example:newsletter,instagram,friend_jamie)utm_medium: the type of channel (example:social,email,referral)utm_campaign: the campaign name (example:spring_pool,derby_week)utm_content: optional, used to test different posts (example:post_a,post_b)
Example UTM plan for a pool
Use a naming style you can keep for months:
- Source:
tiktok,youtube,email,whatsapp - Medium:
social,video,email,message - Campaign:
summer_pool_2026(or your pool name)
Tip: keep names lowercase. Avoid spaces. Use _ instead.
If you want a quick reference on how these parameters work, use this clear guide: Google Analytics guide to campaign parameters.
Conversion events: the actions you want to count
Clicks are nice. Conversions are better. A conversion is an action that matters.
For a prediction pool, good conversion events are:
- Pool page view (helps spot weak landing pages)
- Sign-up completed (email or account created)
- Pool joined (user joins a specific pool)
- Entry paid (if you charge an entry fee)
- Invite sent (a strong sharing signal)
Keep your event names simple
Use short names you can read in reports, like:
sign_upjoin_poolpurchase_entrysend_invite
Also track the pool ID or pool name as an extra detail. This helps when you run more than one pool.
Reporting: turn data into plain answers
Good reports feel boring. That is a win. You should spot the best link in seconds.
A basic weekly report anyone can read
Track these lines each week:
- Total clicks (by source/medium)
- Sign-ups (count)
- Pool joins (count)
- Paid entries (count)
- Conversion rate (joins ÷ clicks)
- Cost per join (if you pay for ads)
What to look for
Use simple rules:
- High clicks + low joins = your landing page needs work.
- Low clicks + high joins = that channel brings the right people.
- High joins + low paid entries = your pricing or pay step needs work.
Common mistakes (and quick fixes)
- Messy UTM names
Fix: use one naming style. Write it down once. - Tracking only clicks
Fix: add join and payment events. - Too many campaigns
Fix: run one main campaign per pool. Test content withutm_content. - No “source of truth” report
Fix: pick one dashboard view and share that link with your group.
A simple set-up checklist
Before you share your pool link, do this:
- Pick UTM names for source, medium, campaign.
- Add UTMs to every public link you post.
- Set conversions for sign-up, join, and payment.
- Check events fire on mobile and desktop.
- Review results weekly. Keep what works.
Final note for prediction pools
Fantasy Football (is Prediction Game in English) works best when it feels social. Tracking should stay light. Use UTMs, a few key events, and one clear report. Then spend the rest of your time inviting friends and making better picks.