The short answer
Segment moves your data. DataCops decides which conversions deserve to reach your ads, and adds the sales that happen after the click.
DataCops is a tool that does the ad-conversion job without a container, warehouse or plugin: one script and one DNS record on your own domain, a bot verdict on every visit with a Real people only switch per ad platform, the real sale from your CRM or Shopify sent back to your ads, new campaigns warmed up with the customers you already have, and a log of every send.
How DataCops does it:
- First-party collection, no extra tool. One script and one DNS record put collection on your own subdomain; with your DNS on Cloudflare, the free Worker reads the click at the edge before the page loads. Click IDs are kept on the server for up to 90 days.
- Real people only. Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points, with a Real people only switch per ad platform, off by default. Every form email is checked for disposable providers, domains with no mail server and an email risk score.
- The sale after the form. HighLevel natively (lead, booked, showed, won with value, paid), any CRM by webhook, Shopify through the DataCops Shopify app, all matched to the click by click ID or hashed email and phone, and sent to Meta, Google Ads, TikTok and LinkedIn.
- Ads Warmup. Upload your existing customers (up to 20,000 rows), see a 0 to 10 match score per person, and send them to Meta, Google Ads and TikTok so new campaigns start warm.
- Consent, memory and proof. A TCF 2.2 consent banner from your domain with Google Consent Mode v2 on by default, a server-set cookie up to 400 days where enabled, and a delivery log row for every send, counted once against the pixel.
Best for: teams who want better ad conversions without building or maintaining the pipe: lead gen, ecommerce, clinics, home services, B2B and agencies.
The alternatives at a glance:
- DataCops: best for ad results. One script, a bot verdict on every visit, a consent manager built in, and CRM stages sent to your ads.
- RudderStack: best for data teams who want a close, warehouse-first Segment swap.
- Jitsu: best for engineers who want open source and a low bill.
- PostHog: best for teams that used Segment mainly to feed product analytics.
- Freshpaint: best for regulated marketers who want a privacy-first data pipe.
Most people who search for a Segment alternative start with the bill. But the bill is only the symptom.
Every Segment alternatives list compares one pipe to another pipe. None of them ask the question that matters for a marketer: after all that plumbing, did your ads get better?
A pipe is not a result
Segment is built for data teams. It collects events and routes them to more than 700 tools. It does that job very well.
But look at what it does not do. It does not decide which events deserve to go. A bot visit is routed the same way as a real buyer. It does not know which lead turned into a sale, unless you build the mapping from your CRM yourself. And it does not set up your ad destinations, your deduplication or your consent. That is your job.
Think of the whole chain. A visitor clicks an ad. Someone has to keep that click ID. Someone has to ask for consent. Someone has to say: is this a person or a bot? Later the lead books, shows up and pays in your CRM. Someone has to send that sale back to the ad platform, tied to the first click. Segment covers one link of that chain: moving events from A to B.
The other links still need an owner. On Segment, that owner is you, or the developer you hire. So you pay for the pipe, then you pay people to make the pipe useful for ads. Hosting the work is not doing it.
DataCops is the tracking solution for ad-funded businesses: it keeps bots out of what your ads learn from and sends the sale that happens after the form to Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X. It keeps the click, runs consent and gives every visit a bot verdict. You do not assemble it. It comes built.
Segment gives you data pipes. Your ads need outcomes.
The real difference: what reaches your ads
Here is what that means in practice, one job at a time.
Nothing to instrument
With Segment, your developers write a tracking plan, install SDKs and code each event. Then someone configures each ad destination and keeps it working. It is powerful. It is also a project.
DataCops needs one script and one DNS record. It runs server-side and first-party from your own subdomain. Then connect Meta, Google Ads, TikTok, LinkedIn and X with one click each, and Microsoft Ads, Reddit and Pinterest with an API key.
Every visit gets a verdict
A pipe moves what it is given. On Segment's site we found no feature that keeps bots out of your ad destinations. And since Segment bills per visitor, bot traffic can raise your bill as well as poison your ads.
DataCops checks every visit for bots, datacenter traffic, VPNs and proxies, and turns it into one switch per ad platform (see click fraud protection). Turn on Real people only for Meta and flagged visits never reach Meta. With it on, about 99% of bots are kept out. It is off by default, so you choose where it applies.
The sale happens after the form
For a clinic, an agency or a B2B team, the money comes later: the booked call, the patient who showed up, the deal marked won. Segment can pull data from many CRMs. But turning lifecycle stages into ad conversions, matched to the right click, is mapping you design and maintain.
DataCops is built around that moment. Install it once on your HighLevel agency and pick the clients. Form leads, booked calls, show-ups, won deals with their value and paid invoices then go to each client's Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X, matched to the ad click. Any other CRM posts the sale to a private webhook, directly or through Zapier, Make or n8n. Cancellations, no-shows and lost deals are never sent. Read more on offline conversions and HighLevel conversion tracking.
Consent is built in
Segment's Consent Management reads the choices from a consent tool you already run. You still need that tool. DataCops includes a first-party consent manager built on IAB TCF v2.2, served from your own domain, and website events wait for consent before they are sent.
You can see why each event was sent
To be fair, Segment has an event delivery view per destination, and it helps you see whether events arrived. DataCops goes one step further for ads: every conversion is a row per platform, marked sent, held, skipped or failed, with the reason next to it.
Privacy and data deletion are built in
Segment handles deletion and suppression through its API or UI. It is built for engineers to run. DataCops puts it in one place for everyone. Visitors ask for deletion through a form on your privacy page, confirm by email, their session data is anonymised, and a status page shows what was done. Deletion requests from Meta, TikTok and LinkedIn are acted on automatically. Google Ads deletions are still a manual step. Click IDs, sessions and the click log are deleted after 90 days, and the identity store holds hashed emails and phones only.
Segment tells you the event was delivered. DataCops tells you whether it should have been.
The real cost of a cheap tool
The real cost is in the questions nobody asks before they buy. Answer them with your own numbers.
How many hours will it take to build your Segment tracking plan, ad destinations and bot rules before the first sale is tracked?
How many hours a month will someone spend keeping it working when Meta, Google or TikTok change something?
If a tag breaks quietly for a week, how many leads never reach your ads? And what is one lead worth to you?
How many sales a month close in your CRM that your ads never hear about?
The last question matters most. When the ads only see form fills, they learn to find more people who fill in forms, not people who buy. Lead quality drops, cost per sale climbs, and nothing in the dashboard tells you why.
Every visitor you pay Segment for is not a customer. Some are not even people.
Every feature, side by side
Every DataCops feature, against what Segment offers for the same need.
Segment | ||
|---|---|---|
| Setup | ||
| What you install | One script and one DNS record | SDKs and coded events per tracking plan |
| Connect ad platforms | One click each: Meta, Google Ads, TikTok, LinkedIn | Destination setup and mapping per platform |
| First-party on your own domain | Yes, server-side from your subdomain by default | Not checked for this page |
| Destinations | Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest, X | 700+ integrations, incl. Microsoft Ads, Reddit, Snap, Pinterest, GA4 |
| Mobile and server SDKs | Website script | SDKs for many languages |
| Data quality | ||
| Bot handling | Verdict per visit, Real people only per platform | No bot filter for ad destinations found |
| What happened to each ad click | Click log in first-party analytics | Possible if you build it in your warehouse |
| Consent manager | Built in, IAB TCF v2.2 | Reads your existing consent tool |
| Warehouse sync and product analytics feed | Not offered | Yes, full event pipeline |
| Identity resolution and audiences | Not offered | Unify and Engage, quote only |
| Beyond the pipe | ||
| CRM stages to ad platforms | HighLevel native, any CRM by webhook | CRM sources you map to conversions yourself |
| Signups via Sign in with Google | SignupCops keeps the ad click and holds risky signups back | Not built in |
| Upload past customers to warm up ads | Ads Warmup, up to 20,000 rows | Not built in as a one-step upload |
| Meta health and wellness restrictions | Health mode: approved fields, links cut to domain, neutral event names | Not built in. You filter fields yourself |
| Privacy and legal | ||
| Visitors asking for deletion | Self-serve form, confirmed by email, status page | Deletion and suppression by API or UI |
| Deletion requests from Meta, TikTok, LinkedIn | Acted on automatically | Not built in |
| How long data is kept | Click IDs, sessions and click log deleted after 90 days | Set by your plan and settings |
| Running it | ||
| Why each event was sent or skipped | Per-row delivery log with the reason | Event delivery view per destination |
| Agencies with many clients | Agency board: every client on one login | Workspaces, not built for client ad accounts |
| Track record | Newer, focused on ad tracking | Enterprise customers, Twilio backing |
Prices use different units. A DataCops session is one visit, like in Google Analytics; a new one starts after 30 minutes of no activity. Segment counts monthly tracked users. Segment column checked on twilio.com, 2 October 2026. "Not built in" means we found no Segment feature for it; much of it can be built with enough engineering time.
The 5 Segment alternatives compared
| Best for | Developers needed | Bots | CRM sales to ads | |
|---|---|---|---|---|
| Ad results | No | Verdict + switch | Native | |
RudderStack | Warehouse-first data teams | Yes | Not stated | You build it |
Jitsu | Open source, low bill | Yes | Not stated | You build it |
PostHog | Product analytics | Some | Not stated | Not its focus |
Freshpaint | Regulated marketers | Some | Not stated | Not stated |
1. DataCops: best Segment alternative for ad results
DataCops is not a CDP, and that is the point. It is a tracking solution for ads. Conversions go server-side from your own domain, so ad blockers and Safari do not strip them. Every visit gets a bot verdict. Consent is checked by a built-in manager. The stages after the form come from your CRM, matched to the click. And every event has a row that says what happened and why.
Why people switch to it
- No tracking plan or SDK work
- Real people only keeps bots out of each platform
- Booked, showed, won and paid from HighLevel or any CRM
- Lower entry price than Segment Team
Worth knowing
- No warehouse sync or audiences
- Real people only is off until you switch it on
Best for: teams who bought Segment to make your ads work, not to build a data stack.

2. RudderStack: best close swap for data teams
RudderStack is the most direct Segment replacement. It works the same way, with your warehouse at the centre, and its free tier is generous. Data teams who like how Segment works but not its bill often land here.
The catch is the same as Segment's. It is still a pipe. You still write the tracking plan, set up ad destinations, and build bot rules and CRM mapping yourself.
Why people switch to it
- Familiar Segment-style workflow
- Warehouse first
- Pricing by events, with a free tier
Worth knowing
- Still needs developers
- Bots and CRM stages are still your job
Best for: teams who want Segment's job done for less.

3. Jitsu: best open source option
Jitsu is an open source event pipeline. You can run it on your own servers for free, or use its cloud with a large included allowance. For an engineering team, that is a very low bill.
You pay in time instead. Self-hosting means you run the servers. And like any pipe, it does not judge your traffic or bring your CRM sales to your ads.
Why people switch to it
- Open source, MIT license
- Low cloud price
Worth knowing
- Built for engineers
- Ads setup, bots and CRM stages are yours
Best for: teams with engineers who want to own the pipe.

4. PostHog: best if Segment mainly fed analytics
Many teams use Segment mostly to feed a product analytics tool. PostHog puts analytics, session replay and more in one place, with a big free tier. If that was your use, you may not need a separate pipe at all.
It is built for product teams, not ad conversions. It will not send booked calls to Meta or keep bots out of Google Ads.
Why people switch to it
- Analytics and pipe in one tool
- Large free tier
Worth knowing
- Not built for ad conversions
- No CRM stages to ad platforms
Best for: teams whose real goal is product analytics.

5. Freshpaint: best privacy-first data pipe
Freshpaint is a data pipe aimed at regulated industries, such as healthcare, that need tight control over what reaches ad platforms. Its pricing page did not show a price when we checked.
It still works like a pipe. If your problem is bots or CRM sales that never reach your ads, check how much of that you would build yourself. If you run health ads on Meta, compare it with DataCops health mode.
Why people switch to it
- Privacy controls on what is sent
- Built for regulated marketers
Worth knowing
- No public price
- Bots and CRM stages not stated
Best for: teams where privacy rules shape every tracking choice.
How to choose a Segment alternative
- Ask why you bought Segment. For a warehouse and analytics, pick RudderStack, Jitsu or PostHog. For better ads, keep reading.
- Check where your sales close. If they close in a CRM or on a call, you need the stages after the form sent to your ads.
- Look at your traffic. If bots fill your forms, you want a switch per platform, not rules you write.
- Count your destinations. Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X? DataCops covers them. Dozens of non-ad tools? A pipe like Segment.
- Price the people, not just the plan. Add developer time to the monthly bill before you compare.
Pick DataCops if
- You bought Segment mainly to improve Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest or X.
- Your sales close after the form: a booking, a call, a visit, a signed deal.
- You want bots out of your ads and consent built in, without developers.
- You pay for fake clicks and want them stopped: Real people only per platform, and on the Organization plan a Cloudflare edge block plus a refund evidence file you can send to Google, which decides.
See also: Addingwell alternatives, Tealium alternatives, ServerTrack alternatives, Tracklution alternatives and Elevar alternatives.
When not to use DataCops
- Segment's strength is the pipe. It feeds hundreds of tools and your warehouse. If your data team uses that, keep it for them.
- You need custom tag logic or non-ad destinations. DataCops sends to ad platforms. If you feed other tools from a server container or pipeline, keep it for those.
What's your actual goal?
If you are a marketer or an agency, nobody wants a customer data platform for its own sake. You want five things:
- Capture every lead and sale, including the ones ad blockers and Safari hide.
- Send them to your ad platforms, so Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X learn who buys.
- Include the sales that happen offline, on a call, in a clinic, in your CRM.
- Keep bots out, so the platforms do not learn from fake leads.
- Stay compliant, with consent checked and data deleted on request.
Segment gives you the plumbing to build toward those five things. DataCops does them. Here is the same goal, done both ways.
The traditional way, with Segment
- Write a tracking plan with your developers.
- Install the Segment SDK and code each event.
- Add and configure each ad destination.
- Set up deduplication with the browser pixels.
- Buy a consent tool and connect it to Segment.
- Build your own bot rules, or let bots through.
- Map CRM stages to ad conversions and match them to clicks.
- Pay for every visitor, bots included, and keep it all working.
With DataCops
- Add one script and one DNS record.
- Connect each ad platform with one click.
- Switch on the consent manager.
- Switch on Real people only.
- Connect HighLevel or your CRM webhook.
Then run your business. Click IDs are kept for you, and every event has a row in the delivery log.
Segment sells you the pipes. DataCops does the tracking, so you can focus on what actually makes money.
Why people leave Segment
Segment is a strong product. People leave for reasons around it, not because the pipe fails.
- The bill grows with visitors. Pricing is per monthly tracked user. Bot visitors can count too.
- It needs developers. You write a tracking plan and code the events. Marketers wait on engineering for every change.
- Ads are one use among 700. Deduplication, field mapping and platform changes for Meta or Google are your job.
- No bot filter for ad destinations. We found none on its site. Unless you build rules, junk traffic can flow through to your ads.
- The sale lives in the CRM. Getting booked calls and won deals to your ads, matched to the click, is a project you build.
- The good parts are quote only. Unify, Engage and the Business plan need a sales call.
Offline conversions: the job a pipe does not do for you
Most businesses do not sell on the website. The website collects the lead. The money comes later, and that later moment is what your ads need to learn from. Here is what DataCops sends, by industry.
| Business | What the pixel sees | What DataCops adds |
|---|---|---|
| Clinics, dental, med spa | Booking form | Booked, showed, treatment paid |
| Home services, roofing, solar | Quote request | Estimate booked, job won with its value |
| Agencies running client ads | Form fills per client | Every client's booked, showed, won and paid |
| B2B and SaaS | Demo request, signup | Qualified lead, trial, paid, by webhook |
| Legal, finance, high-ticket services | Enquiry | Consult booked, client signed |
From HighLevel natively, or any CRM by private webhook, directly or through Zapier, Make or n8n.
- A visitor clicks your ad. DataCops keeps the click ID on your own domain for 90 days.
- The lead books, shows up or buys in your CRM, days or weeks later.
- DataCops matches the stage to the ad click by click ID or hashed email and phone.
- The stage goes to Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X, counted once.
With Segment, each of those steps is a source, a mapping, a matching rule and a destination you build and maintain.
Ads Warmup: tell the ads who pays
Segment forwards what your site or store produces. A new ad account, pixel or campaign has nothing yet, so it pays to learn from scratch. That is a job a pipe cannot do, because the customers you already have never visit on command.
Ads Warmup, DataCops' flagship feature, sends them to your ad platforms before a campaign spends:
- Upload a customer list. A CSV of past buyers, old leads or booked calls. DataCops reads your columns; only email is required.
- See a match score for every person. An estimate from 0 to 10 from email, phone, name, location, click ID and customer ID, before anything is sent.
- Pick the event. Purchase, Lead, Complete registration, Add to cart or Schedule.
- Send server-side. Up to 20,000 people per upload to Meta, Google Ads and TikTok, with a sent, skipped or failed result per person. Google Ads credits only people who clicked a Google ad.
Each row is dated when you press send, not with the old sale date, so it gives a new campaign real customers to learn from on day one. Preview is free; sending needs a paid plan.
What else a pipe never does
- Capture at the edge. With DNS on Cloudflare, the free, optional DataCops Cloudflare Worker reads click IDs and UTMs off the first request, before the page or any script runs. It captures; it does not block.
- Keep the click on the server. gclid, wbraid, gbraid, fbclid, ttclid and li_fat_id are stored for up to 90 days, so a deal that closes weeks later still finds its click. A signed server-set cookie lasts up to 400 days where enabled.
- Check the lead's email. Fixed rules, not guesses: disposable providers, domains with no mail server and an email risk score. With LeadCops (Business and up), a lead that fails is held and never billed.
- Install on Shopify. The DataCops Shopify app adds a web pixel and a theme app embed, so every paid order reaches your ads, express checkouts included. See Shopify Conversions API.
- Hand evidence to Google. On the Organization plan, the fraud refund report exports bot-flagged Google Ads clicks in the format Google's Click Quality form asks for. You attach it; Google decides.
Meta health and wellness restrictions
If you advertise a clinic, a treatment, a supplement or anything health related, Meta may restrict the events it accepts from you. What usually gets an account restricted is the data itself: the page link names the treatment, the event is called Book_Implant_Consult, the form sends symptoms.
With Segment, keeping that out means writing your own filters or transformations per destination: rewriting page URLs, renaming events and dropping fields, and remembering to do it again for every new form.
With DataCops, you switch on health mode. It sends only fields on an approved list and blocks everything else. Page links are cut to the domain and event names go neutral, like L_1.
Read more on Meta health and wellness restrictions.
Setup, step by step, side by side
Here is the same job done both ways. Segment steps are the standard setup from its docs. DataCops steps are what you do in the dashboard.
| The job | With Segment | |
|---|---|---|
| Start collecting events | Write a tracking plan, add a source, install the SDK, code track calls for each event. | Add one script and one DNS record. |
| Connect Meta CAPI | Add the destination, enter credentials, map events and user fields, set up deduplication with the pixel. | Connect Meta with one click. Pixel and server events are deduplicated by event_id, so each conversion is counted once. |
| Capture click IDs | Read gclid, fbclid and others in your code, store them, pass them with each event. | Kept on your own domain for 90 days. The visitor cookie lasts up to 400 days (needs consent in the EU). |
| Handle consent | Run a consent tool from another vendor and connect it to Consent Management. | Switch on the built-in consent manager (IAB TCF v2.2). |
| Keep bots out | Build your own rules, or let bots through. | Switch on Real people only for each platform. |
| Send a CRM sale | Connect the CRM as a source, map stages to conversion events, match to the click. | Install once on HighLevel and pick the clients, or post the sale to your webhook. |
| Find out why a conversion is missing | Check the destination's event delivery view, then the platform's own tools. | Open the delivery log row. The reason is written next to it. |
Every Segment step is doable, and data teams do them daily. The point is who does them, and whether your team has one.
"15 minutes to get server-side tracking live. After 3 days failing with another app and a DIY server-side Google Tag Manager, that alone sold me. Then support jumped on a Google Meet with me on a Sunday afternoon to finish the job."Andrew Forsyth, Chief Executive Officer, Zeald
What to know before you switch
- Segment's strength is the pipe. It feeds hundreds of tools and your warehouse. If your data team uses that, keep it for them.
- Switch off Segment's ad destinations as you connect. Connect the same Meta, Google Ads and other ad accounts in DataCops, then turn those destinations off in Segment, so each conversion is counted once.
- Bring CRM stages over through the webhook. HighLevel and HubSpot connect directly. Salesforce, Pipedrive and others send stages through the DataCops webhook, directly or with Zapier, Make or n8n.
Moving from Segment to DataCops
- Add DataCops next to Segment. One script and one DNS record. Leave Segment running.
- Connect the same ad accounts, and switch off those ad destinations in Segment, so nothing counts twice.
- Compare for two weeks in Meta Events Manager and Google Ads, and read the DataCops delivery log.
- Connect your CRM (HighLevel or your webhook) to send the stages after the form.
- Decide what Segment still does. If it only fed your ads, cancel. If your data team uses it, keep it for them.
Every DataCops product mentioned here
- Offline conversions: CRM sales and stages back to your ads.
- HighLevel conversion tracking and DataCops for agencies.
- Server-side tracking and the no-GTM alternative.
- Meta Conversions API, Google Ads conversion tracking, TikTok Events API, LinkedIn Conversions API.
- Click fraud protection, SignupCops and first-party analytics.
- Consent manager, Ads Warmup and health mode.
Segment alternatives: FAQ
Can I warm up a new campaign with my existing customers?
Yes, with DataCops Ads Warmup. Upload a CSV of past buyers, old leads or booked calls (only email is required, up to 20,000 rows), see a match score from 0 to 10 for every person, and send them to Meta, Google Ads and TikTok as fresh signal, dated when you send. Google Ads credits only people who clicked a Google ad. Preview is free; sending needs a paid plan.
When should I keep Segment instead of switching?
Segment's strength is the pipe. It feeds hundreds of tools and your warehouse. If your data team uses that, keep it for them.
What is the best Segment alternative?
DataCops, because it replaces Segment plus the rest of the ad tracking stack in one tool: first-party tracking from your own subdomain, a bot verdict on every visit, a built-in consent manager, and conversions and CRM sales sent server-side to Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X. It is free up to 2,000 sessions. If what you need from Segment is a data pipe to hundreds of tools and your warehouse, RudderStack is the closest pipeline.
Do bots count toward my Segment bill?
Segment bills by monthly tracked users, which are visitors. We found no feature on its site that filters bots before they are counted, so bot and junk visitors that load your pages can raise the bill. DataCops gives every visit a verdict and, with Real people only on, keeps flagged visits out of each ad platform.
Does Segment filter bots out of ad platforms?
We found no bot filter for ad destinations on Segment's site. You would build that logic yourself, for example in a function or in your own code. DataCops checks every visit for bots, datacenter traffic, VPNs and proxies, and has a Real people only switch per ad platform. It is off by default.
Does Segment have a consent manager?
Segment's Consent Management reads the choices from a consent tool you already run. It is not a consent banner of its own. DataCops includes a first-party consent manager built on IAB TCF v2.2, and website events wait for consent before they are sent.
Can Segment send CRM sales to my ad platforms?
Segment has many CRM sources and ad destinations, so it can be built. You design the tracking plan, map lifecycle stages to conversion events, and match them to the ad click yourself. DataCops does it without that build: install once on HighLevel and it sends leads, booked calls, show-ups, won deals with value and paid invoices. Any other CRM posts to a private webhook.
Is DataCops a CDP?
No. DataCops is a tracking solution for ad conversions. It does not sync a warehouse, build audiences or feed product analytics. It sends clean, consented conversions to Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X, including the sales that close in your CRM.
Which ad platforms does DataCops send to?
Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X. Segment has 700 plus integrations for teams that need many non-ad tools.