Reddit Ads logoSocial
Social channel · judged Valid or Invalid

Which Reddit Ads communities send bot traffic?

Find out which Reddit ad groups pull in bot clicks. ValidVisit gives every visit a Valid or Invalid verdict so you can manually exclude the weak segments.

Just your email · no card · unsubscribe anytime · privacy policy

Not ready? Estimate your invalid clicks →
validvisit · reddit-ads cut-list
Exclude the bad community in Reddit Ads

The buyer enters/pastes a list of subreddit names into the excluded-communities list (ad group targeting or account-level Brand Safety, max 1,000) so ads stop serving in those communities' feed/conversation placements — though members of an excluded community can still see the ad in their home feed.

Where: Two layers: ad group level > Targeting > Communities > "Exclude communities" (applies to community-feed and conversation placements), and account level > Brand Safety settings in Reddit Ads Manager (up to 1,000 excluded communities per account)
Controls in Reddit Ads’s campaign settings
✕ IP lists✓ OS✓ OS version✕ Browser✕ Browser version✓ Device✓ Connection
5
Reddit Ads macros mapped to report columns
campaign
attribution grain
no-hop
one script, nothing added to the click path
Valid / Invalid
a verdict on every visit
01 / SIGNAL

How bot traffic slips in through Reddit Ads communities.

Reddit Ads matches campaigns to communities rather than individual publisher URLs, which makes its interest-graph targeting good for brand fit and sub-source quality hard to audit. When a campaign targets a broad interest such as “technology” or “gaming,” the resulting ad group can span communities whose engagement varies widely. Reddit’s click macros surface Campaign ID and Ad Group ID as the finest attribution dimensions in the URL — subreddit-level placement is not passed in the click URL — so the ad group is where quality gaps show up. Tying each visit’s verdict to those tokens shows which ad groups draw a disproportionate share of invalid traffic, before those events skew your conversion reporting and push Reddit’s optimization toward bot-generated signals.

Reddit’s community-graph model creates two IVT pressures that differ from banner or native supply. The first is accounts: because Reddit accounts can be created and aged cheaply, some operators keep pools of aged accounts that click ads while routing through residential proxies, spreading clicks across a geography that looks plausible at campaign level.

The second is interest-targeting dilution: broad interest audiences pull in community clusters without showing which ones are in scope. When a specific ad group starts collecting clicks that arrive with a valid Reddit referrer but never show real activity on the landing page, the click was real and the visit was empty — which is why these arrivals don’t surface as anomalies in Reddit’s own reporting. Measuring what share of each ad group’s clicks became a real session exposes the gap.

What to watch on Reddit Ads

Ad Group IVT rate as the primary segmentation axis

Ad Group ID ({{adgroup_id}}, where exposed by Reddit’s click macros) is the closest available proxy for the community clusters driving your traffic. When one ad group generates a disproportionate share of invalid visits compared to parallel ad groups running the same creative, the issue is almost certainly in the audience behind that group, not in the ad itself. Narrow the targeting before scaling that group’s budget.

Invalid share from launch ({{campaign_id}} / {{campaign_name}}, where available)

Look at which of a campaign’s visits are judged invalid, and why, not just the campaign total, from day one. Delivery can be least settled in the first days of a new Reddit campaign, so a pile-up of Invalid verdicts then is worth catching before it consumes a meaningful share of your budget window.

Click ID consistency between Reddit billing and ValidVisit logs

Reddit provides a click identifier token ({{click_id}}, where available) that is unique per click. Reconciling it between Reddit’s billing data and your visit log can surface clicks that appear in Reddit’s billed count but never produced a visit on your page. This is a secondary check rather than a primary signal, but meaningful discrepancies are worth escalating to Reddit support.

02 / VERDICTS

What Reddit Ads lets you judge by.

Reddit Ads exposes campaign-level tokens; we break invalid traffic down by campaign and per-click id, and surface the offending networks and devices behind the bot clicks.

Per-click id: Reddit Ads passes a unique click id, and ValidVisit stores it with each visit, so a verdict traces back to the click in Reddit Ads’s own reports.

Compare bot & invalid-traffic breakdown across every ad network →

See your own Reddit Ads sub-sources judged this way.

03 / ATTRIBUTION

How ValidVisit attributes Reddit Ads traffic

Each Reddit Ads macro maps to a normalized parameter, so every judged visit is pinned to the right campaign, creative and publisher.

validvisit · tracking url
Tracking URL for Reddit Ads, ready for ValidVisit
https://yoursite.com/landing?utm_source=reddit-ads&utm_medium=social&vv_campaign_id={{CAMPAIGN_ID}}&vv_campaign_name={{CAMPAIGN_NAME}}&vv_adset_id={{ADGROUP_ID}}&vv_ad_id={{AD_ID}}&vv_click_id={{CLICK_ID}}
Campaign ID
Reddit Ads macro
{{CAMPAIGN_ID}}
Maps to
campaign_id
Identifies
campaign
Campaign Name
Reddit Ads macro
{{CAMPAIGN_NAME}}
Maps to
campaign_name
Identifies
campaign
Ad Group ID
Reddit Ads macro
{{ADGROUP_ID}}
Maps to
adset_id
Identifies
adset
Ad ID
Reddit Ads macro
{{AD_ID}}
Maps to
ad_id
Identifies
ad
Click ID
Reddit Ads macro
{{CLICK_ID}}
Maps to
click_id
Identifies
click

Macros not yet checked against Reddit Ads’s documentation. Reddit Ads docs

The verdict works the same way on every network. ValidVisit never changes your Reddit Ads account: you make the exclusion there yourself. How the verdict works →

FAQ

Reddit Ads traffic quality, answered.

Reddit’s click macros don’t expose subreddit or placement — what can ValidVisit actually attribute?

Subreddit-level placement isn’t passed in the click URL, so attribution works at the ad-group level rather than the community level. Each ad group maps to a targeting configuration (interest, community or keyword), so a concentration of invalid visits on one ad group relative to others in the same campaign is enough to act on: adjust or pause that group’s targeting. You won’t know which individual subreddit was responsible, but you will know which audience configuration to deprioritize.

Can I exclude subreddits in Reddit Ads?

Yes, at two levels: in the ad group’s Targeting → Communities → “Exclude communities” (applies to community-feed and conversation placements), and account-wide in Reddit Ads Manager’s Brand Safety settings, up to 1,000 excluded communities per account. Members of an excluded community can still see the ad in their home feed.

Which Reddit macros should I add to my destination URL?

Append the click macros your account exposes — typically campaign_id, adgroup_id, ad_id and click_id, where available — as query parameters on your destination URL. Each visit’s verdict is stored with those values, so your reports use the same dimensions as Reddit’s and a flagged ad group is easy to find in both systems.

Reddit says it filters invalid activity at the account and platform level. What does ValidVisit add?

Reddit’s moderation and spam systems protect community integrity and account authenticity — a different job from auditing the post-click quality of ad traffic. An account that passes Reddit’s checks can still click without intent, or be run by automation that browses casually enough to avoid account-level detection. Judging the visit on your landing page is a complementary view rather than a duplicate of what Reddit measures, and the judged visit log is yours to use for targeting decisions.

Detect fraud on other social networks

Weighing a blocker for social traffic? How ValidVisit compares to ClickGUARD, Lunio and CHEQ.

placement 55171% invalid
placement 20923% invalid
placement 872% invalid

Find the bots in your Reddit Ads spend.

See which publishers and placements send real buyers vs bots — every visit judged Valid or Invalid, worst first.

Just your email · no card · unsubscribe anytime · privacy policy

Join the waitlist with just your email · 7-day trial at launch

One script · no cookies · no device IDs · raw IP never stored