Snapchat Ads logoSocial
Social channel · judged Valid or Invalid

Which Snapchat Ads placements send bot traffic?

Snap Audience Network inflating your CPA? ValidVisit judges every SAN visit by publisher and surfaces which site_source_name values to cut manually.

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

Not ready? Estimate your invalid clicks →
validvisit · snapchat-ads cut-list
Exclude the bad placement / content category in Snapchat Ads

The buyer cannot upload a list of bad sub-source IDs — Snapchat is owned-and-operated inventory, so the buyer instead deselects placements (Publisher/Creator Stories, Spotlight, etc.) and excludes content categories or tightens the Brand Suitability inventory tier in the ad set’s Placements settings.

Where: Ads Manager > ad set level > Placements > Edit Placements > Smart Placements (toggle content categories to include/exclude; "see the list" shows what’s excluded); Brand Suitability inventory filter (Full/Standard/Limited tiers, set in the same Placements step) to restrict delivery to less-sensitive content
Controls in Snapchat Ads’s campaign settings
✕ IP lists✓ OS✓ OS version✕ Browser✕ Browser version✓ Language✓ Device✓ Connection
7
Snapchat Ads macros mapped to report columns
1
sub-source level judged
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 Snapchat Ads placements.

Snapchat Ads sells two kinds of supply. The first is Snapchat’s own inventory — Discover, Story and Spotlight placements — where traffic comes from logged-in Snapchat users. The second is the Snap Audience Network (SAN), an off-platform SDK network that lets third-party app developers monetize through Snapchat’s demand. SAN publishers are independent, inventory quality varies by property, and blended campaign metrics hide which publisher is dragging performance down. Snapchat’s site_source_name value identifies the app or site behind each click, so invalid visits can be traced to specific SAN properties instead of guessed at from aggregate data.

The two supply tiers carry different risks. On SAN, emulator operations can push synthetic click events through publisher SDKs — sessions that present as a handset without being one. On Snapchat’s own Discover and Story placements, incentivized click operations chasing app-install or lead-gen offers can route through proxy chains or rented server ranges while still presenting a plausible mobile user-agent and screen size.

site_source_name is the most actionable diagnostic dimension for SAN: when a single property produces a disproportionate share of invalid visits against your campaign baseline, that property — not the ad set or the creative — is the variable worth isolating. Recording the ScCid Snapchat appends to each click lets you cross-reference invalid visits with Snapchat’s own click log instead of relying solely on downstream conversion discrepancies.

What to watch on Snapchat Ads

site_source_name concentration in SAN placements

Segment by site_source_name and look for any publisher property whose click volume and invalid share diverge sharply from the rest of your SAN mix. Legitimate app-publisher traffic spreads across varied session times and network origins; a bot-heavy property shows compressed session characteristics and a disproportionate share of Invalid verdicts against your campaign baseline.

ScCid anomalies across sessions

Snapchat appends a unique ScCid to each click. The same ScCid showing up on visits from multiple distinct IP addresses or devices is consistent with click parameter recycling rather than individual users following an ad.

02 / VERDICTS

What Snapchat Ads lets you judge by.

Publisher / site / zone

Invalid share broken down by:

  • Site Source Name {{site_source_name}}App or site (publisher) where the ad was served; useful for Snap Audience Network attribution.

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

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

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

03 / ATTRIBUTION

How ValidVisit attributes Snapchat Ads traffic

Each Snapchat 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 Snapchat Ads, ready for ValidVisit
https://yoursite.com/landing?utm_source=snapchat-ads&utm_medium=social&vv_campaign_id={{campaign.id}}&vv_campaign_name={{campaign.name}}&vv_adset_id={{adSet.id}}&vv_ad_id={{ad.id}}&vv_creative_id={{creative.name}}&vv_publisher_id={{site_source_name}}&vv_click_id=ScCid
Campaign ID
Snapchat Ads macro
{{campaign.id}}
Maps to
campaign_id
Identifies
campaign
Campaign Name
Snapchat Ads macro
{{campaign.name}}
Maps to
campaign_name
Identifies
campaign
Ad Set ID
Snapchat Ads macro
{{adSet.id}}
Maps to
adset_id
Identifies
adset
Ad ID
Snapchat Ads macro
{{ad.id}}
Maps to
ad_id
Identifies
ad
Creative Name
Snapchat Ads macro
{{creative.name}}
Maps to
creative_id
Identifies
creative
Site Source Name
Snapchat Ads macro
{{site_source_name}}
Maps to
publisher_id
Identifies
publisher
Snapchat Click ID (ScCid)
Snapchat Ads macro
ScCid
Maps to
click_id
Identifies
click

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

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

FAQ

Snapchat Ads traffic quality, answered.

How does ValidVisit work alongside Snapchat’s pixel and CAPI setup?

ValidVisit works at the visit level rather than the conversion-event level, so it is compatible with both Snapchat’s browser pixel and its Conversions API (CAPI). When a user clicks your ad, Snapchat appends the ScCid to the destination URL, and the visit’s verdict is recorded alongside it. You can then cross-reference invalid ScCids with your MMP or CRM records and leave those events out of your CAPI payload, giving Snapchat a cleaner conversion signal.

Which Snapchat tracking parameters should I pass to ValidVisit?

site_source_name is the most diagnostic for SAN inventory — it identifies the specific third-party app publisher behind each click. ScCid links each judged visit back to Snapchat’s own click record. If you run multiple ad sets or creatives, including the ad set ID and ad ID lets you tell whether IVT clusters around a particular targeting group or a specific publisher.

Can I exclude a specific publisher or placement on Snapchat?

Not by uploading a list of sub-source IDs. Snapchat treats its inventory as owned-and-operated, so the levers sit at the ad set level under Placements → Edit Placements: deselect placements such as Publisher or Creator Stories and Spotlight, toggle content categories in Smart Placements (“see the list” shows what’s excluded), or tighten the Brand Suitability inventory tier (Full, Standard or Limited) in the same step. site_source_name data tells you whether a problem is concentrated enough to justify cutting a placement.

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 Snapchat 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