MediaGo
Native
Native channel · judged Valid or Invalid

Which MediaGo sites send bot traffic?

Judge every MediaGo visit by publisher site. Find the ${SITE_ID} values inflating your native spend before they distort campaign optimization.

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

Not ready? Estimate your invalid clicks →
validvisit · mediago cut-list
Exclude the bad site in MediaGo

The buyer adds each bad site’s site_id and domain name to the campaign’s or the account’s block list (op=0 block / op=1 unblock), max 100 sites per API call; the site_id must be exact and cannot be 0 or null.

Where: Site block lists at campaign level and at account level, managed through the official "Sites Block Management" API group — "Block/Unblock Sites at Campaign" + "Get Campaign Block List", "Block/Unblock Sites at Account" + "Get Account Block List"
Controls in MediaGo’s campaign settings
✕ IP lists✓ OS✕ OS version✓ Browser✕ Browser version✓ Language✓ Device✕ Connection
6
MediaGo macros mapped to report columns
2026-10-02
macros checked against MediaGo’s own docs
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 MediaGo sites.

MediaGo is a primarily CPC-priced advertising platform that buys native and display placements from publishers across the open web. Every click can carry a ${SITE_ID} identifying the site the placement ran on and a ${TRACKING_ID}, the tracking id MediaGo expects back on a conversion postback. That site-level transparency matters because it matches the control MediaGo gives you: its block lists work on site ids, for one campaign or for the whole account. A verdict attributed to ${SITE_ID} shows which sites carry an invalid share far above the rest of the campaign, which is the list you take to the block list.

MediaGo describes its supply as premium publishers and says enhanced anti-fraud strategies keep its inventory safe. What its documentation gives an advertiser to act on is the site: daily reports in the site dimension, and block lists at campaign and account level. So invalid traffic on MediaGo is something you find and handle per ${SITE_ID}.

Two details from MediaGo’s own docs matter when you read a site list. The same domain can appear under more than one site id — its API examples list msn.com twice with different ids — so judge the id, not the domain, and add ${PUBLISHER_NAME} if you want the publisher’s name in the URL beside it. And a block needs the exact site id together with its domain name: MediaGo warns that 0 or null cannot be used to block a site.

What to watch on MediaGo

IVT concentration by ${SITE_ID}

Segment your report by ${SITE_ID}. Sites contributing a disproportionate share of click volume with Invalid verdicts are the ones to look at first. A ${SITE_ID} whose invalid share sits well above your campaign baseline is a candidate for the campaign block list before its volume starts shaping how the campaign optimizes.

Invalid share across ${ASSET_ID} on the same site

${ASSET_ID} is MediaGo’s id for one ad asset: a URL, image and title combination. If one asset on a ${SITE_ID} draws a disproportionately high invalid share while another on the same site draws valid traffic, rule out the creative before blocking — otherwise you may cut a site that is actually fine.

Campaign block list or account block list

MediaGo keeps two block lists, one per campaign and one for the whole account. When a ${SITE_ID} shows a high invalid share in several campaigns, the account list covers them all at once; when it is bad in only one, keep the block on that campaign.

02 / VERDICTS

What MediaGo lets you judge by.

Publisher / site / zone

Invalid share broken down by:

  • Site ID ${SITE_ID}Identifier of the publisher site where the click was served.

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

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

See your own MediaGo sub-sources judged this way.

03 / ATTRIBUTION

How ValidVisit attributes MediaGo traffic

Each MediaGo 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 MediaGo, ready for ValidVisit
https://yoursite.com/landing?utm_source=mediago&utm_medium=native&vv_campaign_id=${CAMPAIGN_ID}&vv_campaign_name=${CAMPAIGN_NAME}&vv_ad_id=${AD_ID}&vv_publisher_id=${SITE_ID}&vv_click_id=${TRACKING_ID}&vv_creative_id=${ASSET_ID}
Campaign ID
MediaGo macro
${CAMPAIGN_ID}
Maps to
campaign_id
Identifies
campaign
Campaign Name
MediaGo macro
${CAMPAIGN_NAME}
Maps to
campaign_name
Identifies
campaign
Ad ID
MediaGo macro
${AD_ID}
Maps to
ad_id
Identifies
ad
Site ID
MediaGo macro
${SITE_ID}
Maps to
publisher_id
Identifies
publisher
Tracking ID (Click ID)
MediaGo macro
${TRACKING_ID}
Maps to
click_id
Identifies
click
Asset ID (Creative)
MediaGo macro
${ASSET_ID}
Maps to
creative_id
Identifies
creative

Macros checked against MediaGo’s own documentation on 2026-10-02. MediaGo docs

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

FAQ

MediaGo traffic quality, answered.

How do I block a site in MediaGo?

Add the ${SITE_ID} values to a block list through the Sites Block Management API: “Block/Unblock Sites at Campaign” for one campaign, or “Block/Unblock Sites at Account” for every campaign, with “Get Campaign Block List” and “Get Account Block List” to read the lists back. Each entry needs the site id and its domain name. MediaGo’s public documentation covers these API calls, not the dashboard screens.

Is there a limit on blocking sites through the MediaGo API?

Yes. The Sites Block Management API takes up to 100 sites per call (op=0 to block, op=1 to unblock) and returns an error above that, so longer lists go in batches. The calls are also rate-limited: MediaGo lists a QPS limit of 60.

Which MediaGo tokens give the most useful segmentation in ValidVisit?

${SITE_ID} is the highest-leverage token: it maps to the publisher site behind each click and is the same dimension MediaGo’s block list acts on. ${TRACKING_ID} is the tracking id MediaGo provides on each click and expects back on a server-to-server conversion postback, so it ties a judged visit back to a MediaGo click record. ${CAMPAIGN_ID} and ${ASSET_ID} show whether a weak pattern is site-wide or specific to one creative served there, which decides between blocking the site and replacing the creative.

Where do I add the macros in MediaGo?

In the Tracking field at the bottom of the Create Ad Set page. MediaGo’s notes: the tracking code cannot include ?, @, #, /, a space or a line break, and two macros used together need a separator, for example ${AD_ID}_${AD_TITLE}.

Which targeting controls does MediaGo offer besides site blocks?

Its campaign API lists location (country, plus states or zip codes in the US), language, platform (Desktop, Mobile, Tablet, Xbox), operating system, browser and audience category such as News, Sports or Finance, each as an include or exclude list. It documents no IP exclusion; the site is the unit you block.

Detect fraud on other native networks

Weighing a blocker for native traffic? How ValidVisit compares to Opticks, PureGuard and Adscore.

deal-alerts.example71% invalid
daily-briefing.example23% invalid
premium-news.example2% invalid

Find the bots in your MediaGo 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