Picture a familiar reporting problem. A campaign dashboard shows thousands of clicks, a healthy click-through rate, and a spike in wallet connections. Then someone checks the contracts. Very few of those wallets supplied liquidity, placed a trade, or minted anything. Several attempted transactions failed. Many of the successful ones came from wallets funded minutes earlier from the same source.
The report measured attention. It did not measure product use.
This gap is wider in crypto than in most digital markets because the conversion happens in two places: a website or app that analytics tools can see, and a public blockchain that they cannot. Onchain counts also flatter reality. In its State of Crypto 2025 report, published in October 2025, a16z crypto counted roughly 181 million monthly active addresses but estimated only 40 to 70 million active crypto users. The estimate builds on a methodology a16z crypto published in 2024, which filters out addresses with bot-like or Sybil patterns and compares the result with estimates drawn from wallet provider data. Addresses are not people, and a marketing report that treats them as people will overstate what a campaign achieved.
Crypto marketing attribution is the work of closing that gap well enough to guide budget decisions.
Start With the Action That Counts
If a conversion means “wallet connected,” almost any channel will look productive. The useful question is which on-chain action shows that someone used the product in the way the business needs.
That action varies by category:
- Exchanges: a completed deposit followed by a first trade, or repeat trading within a set period.
- DeFi applications: a successful supply, borrow, stake, or liquidity deposit above a minimum value, ideally still in place after a defined number of days.
- Web3 games: a completed onboarding transaction followed by in-game actions that involve assets or progression, not only a free mint.
- Wallets, payments, and consumer apps: a funded account, a first payment, or a second session that includes a transaction.
Between the click and that outcome sits a ladder of weaker signals. A wallet connection only shares an address with the site. A signature can prove control of an address without touching the chain, although some signed messages, such as token permits, authorize spending later. An approval grants a contract permission to move tokens, but moves nothing by itself. A submitted transaction may still revert. A successful transaction means the chain executed it, which is different from the user completing the intended action.
A contract call alone does not establish business value. A read-only call that checks a balance creates no transaction at all, and a successful state-changing call might be a test deposit of a few cents. Define the qualifying action in terms of the specific function, minimum value, and follow-up behavior that matter to your product.
Compare Channels by the Actions They Can Support
Channels do different jobs and leave different trails. Some introduce a product well but produce few trackable clicks. Others generate precise links but attract users who came for a reward. A single last-click report hides those differences.
| Channel | Typical role | Practical tracking | Main limitation |
| Paid advertising | Reach and intent capture | Campaign tags, platform click IDs, landing-page events | Crypto ad restrictions; platform conversion data usually stops at the website |
| X | Announcements, narrative, founder reach | Tagged links, per-post short links | In-app browsers and delayed visits break the click trail |
| Telegram and Discord | Activation and retention | Unique invite links, bot-issued links, referral codes | Forwarded messages lose their source; bots inflate joins |
| Creators and KOLs | Education and trust transfer | Per-creator links or codes, wallet cohort comparison | Audience overlap and delayed conversions |
| Organic search and content | Research-stage intent | Landing-page analytics, search query data | Long gaps between first visit and first transaction |
| Referral programs | User-driven acquisition | Referral codes tied to wallets | Self-referral and incentive farming |
| PR | Credibility and later search demand | Tagged links where outlets allow them | Much of the effect is indirect and hard to isolate |
No row in that table is the best channel. A lending protocol courting experienced DeFi users might see strong results from research-driven creators and search content, while a consumer app with a simple first action might get more from referrals. The right comparison depends on the audience, the product, and the qualifying action.
Connect the Click to the Contract Interaction
Campaign tags live in URLs and analytics tools. They are not automatically written on-chain, and a contract has no idea which post brought a user to it. Onchain conversion tracking, therefore, means joining two datasets: offchain session data and onchain transaction data.
A practical sequence looks like this:
- Capture the source. Use consistent campaign tags, unique creator links, or referral identifiers. Store them when the visitor lands, before the wallet prompt appears.
- Record session events. Log page views, wallet prompts, connection attempts, and key interface steps against an anonymous session ID.
- Link the session to a wallet where appropriate. When a user connects, associate the session with the address, subject to consent and your privacy policy.
- Record the transaction hash and chain. When the interface submits a transaction, store the hash, chain ID, and intended action.
- Verify the outcome. Fetch the transaction receipt. On EVM-compatible chains, a status of 1 indicates successful execution, and 0 indicates failure. Then read the emitted event logs to confirm that the expected function ran with the expected values.
- Measure what happens next. Track later qualifying actions from the same address, whether they start in your interface or elsewhere.
Some ecosystems now add attribution at the transaction level. Base Builder Codes, based on the ERC-8021 standard, append a short suffix to transaction calldata that contracts ignore and offchain indexers read. They identify the application that generated the transaction, not the campaign or the person. You still need your own session data to credit a channel.
Where Attribution Breaks
Even a well-built pipeline loses people along the way. Knowing where keeps teams from mistaking a tracking gap for channel failure.
- Cross-device and in-app journeys. Someone taps a link inside X’s in-app browser on a phone, then connects later from a desktop browser extension. The campaign tag stays on the phone. Opening the link inside a wallet’s built-in browser can break the trail the same way.
- Private sharing. A link forwarded in a Telegram group or direct message often arrives with no referrer, so the visit looks direct.
- Multiple and shared wallets. One person may use separate addresses for trading, farming, and storage. A multisig treasury may represent several people. Neither maps neatly to a user.
- Smart accounts and relayers. Under ERC-4337, a bundler submits user operations to an EntryPoint contract, so the transaction’s sender is the bundler rather than the user’s smart account. Meta-transaction relayers create a similar gap. EIP-7702 adds another variation by letting a standard address delegate to smart contract code. Match on the account address recorded in the relevant contract events, not only on the transaction sender.
- Cross-chain activity. A user may click on one chain’s campaign, bridge funds, and act on another chain, sometimes through a solver that submits the final transaction.
Attribution models add their own distortions. Last-click credit favors whatever came just before the conversion, often branded search or a direct visit. First-touch credit favors discovery. Multi-touch models spread credit using weights that are assumptions, not findings. Google Analytics 4 retired its first-click, linear, time-decay, and position-based models in November 2023, a reminder that model choice is a policy decision. Whatever you pick, state the attribution window, such as seven days from click to qualifying action, and keep it consistent.
A note on privacy: public addresses expose full transaction histories. The European Data Protection Board’s Guidelines 02/2025 on blockchain, adopted in final form in July 2026, say a wallet address qualifies as personal data when it can be associated with an identifiable person. Get consent where required, collect only what the analysis needs, limit access and retention, and avoid tying browsing profiles to someone’s financial history.
Crypto Marketing Agencies to Consider
Teams evaluating external support should ask how an agency connects campaign reporting to meaningful product activity.
- Blockchain App Factory runs PR, KOL, community, and token launch campaigns, and says its reporting tracks spend to wallet connects and on-chain actions.
- INORU offers token launch, community, influencer and PR marketing, and lists performance tracking and analytics reporting among its services.
- MarketAcross focuses on blockchain PR, communications advisory and SEO for crypto and Web3 companies.
- TurnkeyTown provides community, content, SEO, paid advertising, PR, airdrop, and influencer marketing for crypto projects.
Measure Channel Quality Beyond Transaction Counts
Transaction counts reward whoever produces the most activity, including activity that costs more than it returns. A better scorecard defines each metric’s numerator, denominator, and time window before anyone looks at results.
- Cost per qualifying wallet: channel spend in a period divided by attributed wallets that completed the qualifying action within the attribution window.
- Connection-to-action rate: attributed wallets completing a successful qualifying action divided by attributed wallets that connected, measured over the same window.
- Cost per newly acquired transacting wallet: the same calculation, limited to wallets whose first observed qualifying action in your product falls within the window. A returning wallet is not new, even if it arrived through a campaign link.
- Repeat activity rate: the share of a cohort, such as wallets acquired in a given week, that completes another qualifying action within 30 days of its first.
- Revenue or fees per cohort: protocol fees or product revenue attributable to the cohort, where the contract design makes that measurable.
Volume is not revenue. A trading competition can generate a large volume from a few wallets trading with each other, while fees barely cover the incentives.
Clean the data first. Exclude failed transactions from conversions but track them, since a high failure rate often points to interface or gas problems. Deduplicate events logged by both the frontend and an indexer. Screen for bots and Sybil clusters using funding sources, timing patterns, and near-identical behavior. The scale of the problem can be large: in May 2024, LayerZero Labs published a preliminary list of 803,093 addresses flagged as potential Sybils ahead of its airdrop, after narrowing an initial set of more than two million.
Filtering improves the numbers. It does not prove that each remaining wallet is a unique human.
How Measurement Changes Budget Decisions
This work pays off when it changes where the next dollar goes. The following example is hypothetical, and its figures are invented to illustrate the logic.
A DeFi lending app defines its qualifying action as a first successful supply transaction above a minimum value. It spends $10,000 on each of the three channels over the same month, including reward costs for the quest, and uses a seven-day attribution window.
- Paid display ads: 20,000 clicks at $0.50 each, 1,000 wallet connections, and 100 new qualifying wallets. That is a 10% connection-to-action rate and $100 per new qualifying wallet. Twenty wallets, or 20%, repeat within 30 days, which works out to $500 per repeating wallet.
- Creator campaign: 5,000 clicks at $2.00 each, 800 connections, and 200 new qualifying wallets. That is a 25% connection-to-action rate and $50 per new qualifying wallet. Eighty wallets, or 40%, repeat, which works out to $125 per repeating wallet.
- Points-based quest: 8,000 clicks at $1.25 each, 2,400 connections, and 500 new qualifying wallets, a connection-to-action rate of about 21%. That comes to $20 per wallet on paper. But if a Sybil review removes 150 of those wallets, the cost rises to about $29, and only 25 of the original 500 wallets, or 5%, repeat within 30 days, which works out to $400 per repeating wallet.
The ads had the cheapest clicks and the most expensive qualifying users. The quest still produced the cheapest qualifying wallets after Sybil filtering, but rewards attracted wallets that left, so each retained wallet cost more than three times the creator campaign’s figure. The creator campaign looks strongest here, but this is still attribution, not causation. Some of those users might have arrived anyway.
Holdout tests help estimate incremental impact. A team might withhold a campaign from a randomly chosen region or audience segment, then compare qualifying actions against that control group. These tests have limits. Crypto audiences share links across borders, market swings change behavior week to week, and small samples produce noisy results. Treat a holdout as better evidence, not final proof.
Where to Begin
Start with a reliable system, not a complete one.
Pick one qualifying action and write down exactly what counts. Apply consistent campaign tagging across every channel. Connect session, wallet and transaction events for that single action. Validate the pipeline by tracing a sample of conversions by hand, from click to receipt to event log. Then compare acquisition cohorts over a full retention window before moving budget.
The channel that wins that comparison may not be the one with the best-looking dashboard. That is the point of measuring it.