← All articles

How to Set Up Wallet-Based Targeting

Wallet-based targeting is sold as though advertisers can address individual addresses. Mostly they cannot, and that shapes how to set up wallet-based targeting. What is actually available is narrower, more useful than it sounds, and worth understanding before buying a segment described as on-chain.

This is what the mechanism really is, and how to set up wallet-based targeting so the results can be checked.

Buying crypto traffic and want it to convert?
800+ Web3 campaigns since 2018: KOLs, PR, listings and paid traffic.
Prefer email? welcome@flexe.io

1. Understand what can and cannot be targeted

Three distinct things travel under this name.

  • Wallet-present targeting. The browser has a wallet extension or the visitor arrived through a wallet browser. This is observable and it is the strongest broad signal in crypto advertising, because it separates people who can act from people who cannot.
  • On-chain behaviour segments. Groups built from public chain activity: holders of a token, users of a protocol, addresses active in a period. Real, but only reachable where the network can connect an address to a browser it can serve an advertisement to.
  • Your own audience. A list you own, matched inside the platform. This is the most precise and it depends entirely on the quality of the list.

Chain data is public, so the segments are honest. The linkage between an address and a viewable advertisement is the part that is partial, and the size of that gap is what a network is really selling.

2. Decide which behaviour you actually want

Write the address description before opening any interface. Holders of a competing token above a threshold. Addresses that used a bridge to your chain in the last month. Wallets that provided liquidity anywhere. People who interacted with your contract and stopped.

That last one is usually the most valuable and the least used. Someone who started and abandoned is closer to converting than any cold segment, and you already know who they are.

3. Build your first-party list properly

Export the addresses that matter: connected wallets, depositors, testnet participants, holders past a cutoff. Segment them by what they did rather than pooling them, because a depositor and a one-time visitor need different messages.

Handle this data carefully. Addresses tied to identifiable people are personal data in several jurisdictions, and uploading a list to a network is a transfer. Know what you are agreeing to before you upload anything.

4. Install measurement before spending

The conversion event has to fire before the campaign starts, and it has to be the thing you care about: wallet connected, deposit made, application submitted. Optimising towards a page view teaches the system to buy page views.

Verify it on a real device, on a phone, with a wallet that is not already connected. Most targeting failures are measurement failures wearing a targeting costume.

5. Split the campaign so the segments are comparable

Run each segment as its own line with its own creative and its own tracking. A single campaign blending three audiences produces one number and no information about which audience produced it.

Keep one broad wallet-present line running alongside as a control. It is frequently the cheapest converter, and a narrow segment that cannot beat it is not worth the premium being charged for it.

6. Match the creative to what the segment already knows

A holder of a competing protocol needs a comparison. Someone who abandoned your flow needs the specific objection answered. A liquidity provider needs terms. The same banner shown to all three wastes the targeting you paid for.

This is where most on-chain targeting underperforms: the segmentation is real and the message is generic, so the campaign performs like an untargeted one at a targeted price.

7. Judge segments on conversion, not on click rate

Narrow segments often show worse click rates and better conversion, because the audience is smaller and more considered. Reading click rate alone leads teams to switch off the segments that were actually working.

wallet-based targeting - Wallet-based targeting: the setup - How to Set Up Wallet-Based Targeting

Compare cost per conversion, and compare it against the broad control. Then check retention at thirty days, because a segment that converts and disappears is not the win it looks like on the first report.

Sizing a segment before you buy

Ask for reachable size in the units you will be billed in, and ask what share of the on-chain population that represents. A segment described in many thousands of addresses can resolve to a small pool of servable browsers, which delivers for a day and then repeats itself against the same people. That shows up as frequency rather than as an error message anywhere in the interface.

Work out roughly how many impressions your budget buys at the quoted price and compare that with the reachable size. If the arithmetic says every reachable person will see the creative many times over inside the flight, either the budget is wrong for the segment or the segment is wrong for the budget, and both are far cheaper to fix before launch than after.

Ask what happens when the segment runs out. Some setups quietly widen the targeting to keep spending, which produces a result that looks like the segment performing and is not. Get that answer in writing, and ask for delivery reported against the segment definition rather than against the campaign as a whole, so the widening is visible if it happens.

Ask how the segment was built as well as how large it is: from which chains, over what period of activity, and whether an address qualifies once or has to stay qualified. Two networks selling holders of the same token can be selling quite different audiences, and the definition is the only thing that makes their prices comparable. Get it in writing before the flight rather than reconstructing it from the report afterwards.

How to set up wallet-based targeting safely

Treat the address list as sensitive from the moment it is exported. Decide who may hold it, where it lives and how long it is kept, and keep it out of shared drives and message threads. An address tied to a person is a record about that person, and the forgotten copy in somebody’s downloads folder is the one that eventually leaks.

Before uploading anywhere, read what the platform says it will do with the list: whether it is hashed, whether it is retained after the campaign ends, who inside the platform can see it, and whether it can be used to build audiences for anybody else. Those answers belong in the agreement rather than in a chat with a sales contact.

Say what you are doing in your own privacy documentation, and honour deletion requests properly, which means removing the record from the platform as well as from your own systems. Set a deletion date for every uploaded list at the moment you upload it, so segments do not accumulate quietly across campaigns that nobody is running any more.

Naming conventions that survive reporting

Decide the naming scheme before the first line is built and use it everywhere: segment, creative, landing page, tracking parameter. Names that encode the segment, the format, the market and the flight let you read a report without translating it, and they are the difference between a monthly review that takes an hour and one that takes a day and produces an argument.

Never reuse a name for a changed segment. When the definition moves, the earlier data stops meaning what it did, and a chart mixing the two versions produces a conclusion nobody can defend once somebody asks how the segment was built. Version the name instead and keep the old one in the record with its dates.

Write the definitions down in words next to the names: which addresses qualify, over what period, from which chain, refreshed how often. Six weeks later nobody remembers, and the person reviewing performance is usually not the person who built the segment in the first place, which is how a good segment gets switched off by mistake.

Running the first flight

Start the broad control line and the narrow segments on the same day with the same budget shape, because a control started later is compared against different market conditions. Leave them running long enough to collect a number of events that means something, and agree in advance what that number is so nobody switches a line off on the second morning.

Check delivery on the first day rather than the first week, but check only the things that indicate breakage: whether each line is spending, whether the tracking is recording, whether the creative is rendering, whether the landing page is receiving the parameters. Judgement about performance comes later. The first day exists to catch the plumbing failure.

Keep changes on a schedule. Every edit restarts learning and muddies the comparison, so batch adjustments into a fixed point instead of reacting to each morning’s numbers. Write down what changed and when, because a performance shift with no recorded cause is the most common reason a campaign review ends without a conclusion anybody acts on.

Reading results when volume is thin

Narrow segments produce few events, and few events produce numbers that swing wildly for reasons having nothing to do with the audience. Before concluding that a segment beat the control, ask how many conversions the conclusion rests on and whether it would survive a handful of them landing the other way, which on small volumes it frequently would not.

Where volume is genuinely thin, aggregate upwards rather than pretending precision: combine the flight with the previous one, or judge at the level of the segment family rather than each individual creative. Decisions made on tiny differences in a small sample are how teams talk themselves into switching off the thing that was quietly working.

Give considered audiences time. Somebody evaluating a protocol with money at stake does not act on the first impression, and an attribution window that closes shortly after the click misses conversions arriving days later. Agree the window before the campaign starts and apply the same one to every line, including the control.

When the numbers disagree

The network report, your own analytics and your on-chain record will not match, and the gap is normal rather than evidence of fraud. Wallet browsers, privacy settings, blocked scripts and journeys that cross devices all remove sessions from one system and not another, so pick the number closest to the money and treat the rest as directional.

When the difference is large, investigate the direction rather than the size. If the network reports far more clicks than you record visits, look at redirect loss, page speed and whether the parameters survive. If your own system records conversions the network never claims, look at the window and the tagging before concluding the channel worked for free.

Keep one reconciled record that everybody uses in reviews. Teams that argue about whose dashboard is correct stop making decisions, and the same argument recurs every month until somebody writes down which number the budget is judged on and where it comes from. Put that sentence at the top of the report.

Refreshing segments and rebuilding lists

On-chain segments decay. Addresses active last quarter are not active now, and a list built for a launch describes a state of the chain that has already moved on. Set a rebuild cadence matching the behaviour you are targeting, and rebuild before a campaign rather than reusing whatever happened to be uploaded for the previous one.

Your own list needs the same discipline. Remove the people who already converted unless the campaign is genuinely aimed at them, because paying to advertise a deposit to somebody who has already deposited is the quietest waste in this whole category. Keep the converted list as an exclusion rather than deleting it, since you will want it again.

Watch the overlap. One address can sit in several segments, and if the lines are not excluded from each other the results blur and frequency doubles for exactly the people you most wanted to reach carefully. Decide which segment owns a shared address, enforce it in the setup, and record the rule where the next person will find it.

What to do when a segment stops working

When a line that was converting stops, work through the cheap explanations first: the creative has been seen too often, the landing page changed, the tracking broke, the segment was refreshed and shrank, or the offer that made sense during the launch no longer does. Each has a different fix, and guessing at it costs a flight.

Rotate creative before widening the audience. Widening is the reflex, and it hides the problem by mixing in fresh people who respond to the same message, leaving you with a larger line and no idea whether the segment still works. Change one thing at a time and keep the broad control running underneath as the reference point.

If nothing restores it, stop and move the budget to a question that is still open. A segment worked through to exhaustion is a result rather than a failure, and the record of what it cost and what it returned is what makes the next launch cheaper to plan and easier to argue for internally.

How to set up wallet-based targeting: what to ask the network first

How is this segment built, what is its reachable size rather than its on-chain size, how often is it refreshed, and can performance be reported split by segment. A network that cannot answer the second question is selling a chain query rather than an audience.

Choosing between networks in the first place is covered in how to choose a crypto ad network, and where this sits in a launch budget in how to split a launch budget across channels. Segment design and campaign reporting are on our crypto traffic acquisition page.

Planning a Web3 campaign? Get a free strategy and budget estimate in 24h.
Message us in Telegram

Keep reading

Cross-Chain DEX Aggregators in 2026: 9 Routers Compared
Read article →
Best NFT Marketing Agencies 2026: 9 Checked on Their Sites
Read article →
Crypto Airdrops 2026: 6 Controls That Stop Farming
Read article →