Skip to main content
Understand which marketing channels actually drive onchain conversions, not just clicks. This guide shows you how to set up attribution tracking, compare models, and optimize your marketing spend.

What you’ll learn

  • Set up UTM tracking for all marketing channels
  • Understand first-touch vs. last-touch attribution
  • Measure true ROI by channel (to the transaction level)
  • Optimize budget allocation based on conversion data

Prerequisites


Part 1: The Attribution Challenge in Crypto

Why traditional attribution fails

Traditional analytics measure clicks and visits. For crypto apps, this misses what matters:
What traditional tools measureWhat actually matters
Page viewsWallet connects
Time on siteTransactions completed
Form submissionsVolume/revenue generated
Bounce rateUser quality (net worth, labels)

The crypto user journey

A typical onchain user touches multiple channels:
  1. Discovery: Sees your tweet, ad, or mention
  2. Research: Reads about you on Discord, docs, or DeFiLlama
  3. First visit: Lands on your site (often without converting)
  4. Return visit: Comes back from a different source
  5. Conversion: Connects wallet and transacts
Each touchpoint matters. The question is: which one gets credit?

Part 2: How to Set Up UTM Tracking

UTM parameter basics

UTM parameters let you track where users come from:
https://yourapp.xyz/?utm_source=twitter&utm_medium=social&utm_campaign=launch_2024
ParameterPurposeExamples
utm_sourceThe platformtwitter, discord, newsletter, defillama
utm_mediumThe channel typesocial, email, paid, referral
utm_campaignThe campaign namelaunch_2024, airdrop_promo, partnership_xyz
utm_contentThe creative variantbanner_a, thread_1, video_ad
utm_termKeywords (for paid)defi, swap, yield

Where to add UTMs

Add UTM parameters to every link you control: Social media:
https://yourapp.xyz/?utm_source=twitter&utm_medium=social&utm_campaign=daily_content
Email campaigns:
https://yourapp.xyz/?utm_source=newsletter&utm_medium=email&utm_campaign=weekly_update
Partner/referral links:
https://yourapp.xyz/?utm_source=partner_name&utm_medium=referral&utm_campaign=collab_jan
Paid ads:
https://yourapp.xyz/?utm_source=twitter_ads&utm_medium=paid&utm_campaign=retargeting&utm_content=banner_v2

UTM naming conventions

Use consistent naming to make analysis easier:
BadGood
twitter, Twitter, twAlways twitter
paid ad, paid_ad, paidAdAlways paid
Launch, launch2024, jan-launchlaunch_2024_jan
Recommended format:
  • Lowercase only
  • Underscores for spaces
  • Include date/month for campaigns: campaign_name_mmyy

Part 3: Understand Attribution Models

Formo supports multiple attribution models. Each gives credit differently.

First-touch attribution

How it works: 100% credit to the first channel that introduced the user. Best for: Understanding discovery channels. Example:
  1. User finds you via Twitter (first touch)
  2. Returns via Discord link
  3. Converts via direct visit
→ Twitter gets 100% credit

Last-touch attribution

How it works: 100% credit to the last channel before conversion. Best for: Understanding what drives final conversions. Example:
  1. User finds you via Twitter
  2. Returns via Discord link
  3. Converts via direct visit (last touch)
→ Direct gets 100% credit

Linear attribution

How it works: Credit split equally across all touchpoints. Best for: Valuing the entire journey. Example:
  1. User finds you via Twitter
  2. Returns via Discord link
  3. Converts via direct visit
→ Each gets 33% credit

Which model to use?

GoalModelWhy
Grow awarenessFirst-touchShows which channels introduce new users
Optimize conversionsLast-touchShows what pushes users to convert
Balanced viewLinearValues the full journey

Part 4: How to Analyze Attribution in Formo

View attribution in Overview

1

Go to Overview in the Formo Dashboard

2

See the Referrers chart in the tabs

3

Select different units (users, volume, revenue)

You can apply filters on the overview page to see attribution by different segments.

Key metrics by source

For each traffic source, track:
MetricWhat it tells you
VisitorsReach/awareness
Wallet connectsEngagement quality
TransactionsConversion performance
VolumeRevenue contribution
Connect rateVisitor → Wallet conversion
Transaction rateWallet → Transaction conversion

Calculate true ROI

For paid campaigns, calculate cost per conversion:
Cost per Transaction = Campaign Spend / Transactions from Campaign
Example:
ChannelSpendTransactionsCost/Transaction
Influencer$5,000100$50
Discord Ads$2,00080$25
Twitter Ads$3,000150$20
In this example, Twitter Ads has the best ROI.

Part 5: How to Create Attribution Reports

Using Ask AI for attribution analysis

Get quick attribution insights with Ask AI (click Ask AI in the sidebar): Channel comparison:
“Compare wallet connects by utm_source for the last 30 days”
Campaign performance:
“Show me transactions and volume by utm_campaign this month”
First vs last touch:
“What are the top 5 first-touch sources for users who transacted?”
ROI analysis:
“Which utm_source has the highest transaction volume per visitor?”

Build an attribution dashboard

Create a dedicated attribution dashboard:
ChartQuery
Visitors by SourceDaily visitors grouped by utm_source
Conversion by SourceTransaction rate by first-touch source
Revenue by CampaignVolume grouped by utm_campaign
Source TrendWeekly wallet connects by top 5 sources

Attribution funnel

Create funnels filtered by source:
1

Go to Funnels > Create Funnel

2

Add steps: Visit → Connect → Transaction

3

Add breakdown by UTM Source

4

Compare conversion rates across channels


Part 6: How to Optimize Your Marketing

Identify your best channels

From your attribution data, categorize channels: High-volume, high-conversion:
  • Scale these immediately
  • Allocate more budget
  • Test similar channels
High-volume, low-conversion:
  • Improve landing pages
  • Refine targeting
  • Test different messaging
Low-volume, high-conversion:
  • Increase investment
  • Find ways to scale
  • Understand what makes them work
Low-volume, low-conversion:
  • Reduce or cut spend
  • Test improvements before continuing
  • Consider audience mismatch

Optimize by user quality

Don’t just measure conversions. Measure user quality:
  • Filter users by UTM source
  • Compare average net worth by source
  • Compare retention by source
  • Compare volume per user by source
Example insight:
Twitter drives more users, but Discord users have 3x higher average net worth and 2x better retention.

Multi-touch optimization

If using linear attribution:
  • Identify common multi-touch paths
  • Ensure each touchpoint is optimized
  • Don’t cut channels that assist conversions
Example path: Twitter (awareness) → DeFiLlama (research) → Direct (conversion) All three channels contributed. Cutting Twitter would reduce DeFiLlama traffic.

Part 7: Advanced Attribution Tactics

Cross-channel attribution

Track users across marketing channels:
  • Use consistent UTM naming
  • Track first-touch and last-touch separately
  • Analyze common paths with Flows

Referral program tracking

For referral programs:
?ref=referrer_username
The ref parameter is automatically captured by Formo alongside UTM parameters.

Cohort-based attribution

Compare user quality by acquisition cohort:
  • Create segments by first-touch source
  • Measure retention for each segment
  • Calculate LTV by acquisition source
Example:
Source30-day RetentionAvg LTV
Twitter15%$50
Discord25%$120
DeFiLlama35%$200

Summary

You’ve learned how to:
  1. Set up UTM tracking across all marketing channels
  2. Understand attribution models and when to use each
  3. Analyze attribution in Formo with Overview
  4. Calculate true ROI including conversion and user quality
  5. Optimize budget allocation based on data

Attribution checklist

Next steps