Microsoft Ads (Bing) tracks clicks through Upgraded URLs, where you append curly-brace parameters to your final URL or tracking template and Microsoft swaps in the real values at click time. Adding the macros below lets ValidVisit attribute every visit to its exact sub-source, then score it 0-100 for traffic quality so you can see which segments are sending real people versus invalid traffic.
Cross-check any macro against the network’s official documentation. Microsoft Ads (Bing) official docs →
On Microsoft Ads, the identifiers that matter live in your tracking template: {CampaignID} is required and pins each click to a campaign, while {AdGroupID}, {AdId} and {keyword} narrow it down to the ad group, creative and search term that actually triggered the click. Microsoft also auto-tags every click with an msclkid click ID when auto-tagging is on, so you get a unique per-click stamp without adding a parameter yourself. Because these are plain URL parameters, no funnel hop is needed and your landing page loads exactly as before.
That granularity matters because Microsoft serves your ads beyond Bing across Syndicated Search and Audience partners, and quality varies a lot between them. Once ValidVisit ties each visit to its segment and assigns a quality score, you can act on the weak ones: opt out of underperforming Syndicated Search / Audience partners, apply website exclusions where Microsoft allows them, and file invalid-click credit claims with the per-segment evidence. ValidVisit reports and scores only after the click arrives, it never blocks anything; you make the actual exclusions and opt-outs yourself inside the Microsoft Advertising dashboard.
| Token | Microsoft Ads (Bing) macro | ValidVisit param | Example |
|---|---|---|---|
| Campaign ID *campaign | {CampaignID} | vv_campaign_id | 112233 |
| Ad Group IDadset | {AdGroupID} | vv_adset_id | 445566 |
| Ad IDad | {AdId} | vv_ad_id | 778899 |
| Keywordkeyword | {keyword} | vv_keyword | running shoes |
| Click ID (msclkid) *click | (auto-tagging) | msclkid | abc123def |
{CampaignID}vv_campaign_id{AdGroupID}vv_adset_id{AdId}vv_ad_id{keyword}vv_keyword(auto-tagging)msclkid* required for Microsoft Ads (Bing) attribution.
https://yoursite.com/landing?utm_source=microsoft-ads&utm_medium=search&vv_campaign_id={CampaignID}&vv_adset_id={AdGroupID}&vv_ad_id={AdId}&vv_keyword={keyword}Append these params to your landing-page URL — Microsoft Ads (Bing) fills the macros at click time, so every visit arrives attributed and ready to score. No funnel hop.
The buyer pulls bad domains from the website/publisher placement report and pastes them into Website exclusions (or a shared website exclusion list applied across campaigns), which blocks ads from serving on those syndicated-partner/Audience Network sites.
{CampaignID} is the required anchor, and pairing it with {AdGroupID}, {AdId} and {keyword} lets ValidVisit roll your clicks up to the campaign, ad group, ad and keyword level. For partner quality, Microsoft's auto-tagged msclkid uniquely stamps each click so weak Syndicated Search / Audience segments stand out.
No. These are standard URL parameters added to your Upgraded URL final URL or tracking template. Microsoft fills in the values at click time and the user lands on your page directly, with no extra hop.
Add them to your tracking template, which you can set at the account, campaign, ad group or ad/keyword level under Upgraded URLs. Make sure auto-tagging is enabled so the msclkid click ID is appended automatically.
See which Microsoft Ads (Bing) publishers and placements send real buyers vs. bots.
Free trial at launch · just your email
One script · no cookies · no fingerprinting · raw IP never stored