This article is about setting up dynamic remarketing within Microsoft Ads.
For this, we use Google Tag manager.
What is dynamic remarketing?
Dynamic remarketing is showing a certain product to someone that already visited that exact same product page.
Ready to set up Dynamic Remarketing for Microsoft Ads using Google Tag Manager?
Looking to implement this for Google Ads?
We got you. Please see this article about dynamic remarketing for Google Ads.
Find a detailed guide here, that contains of the following steps:
A general resource for dynamic remarketing from Microsoft HERE.
Please find all steps explained in more detail below.
Ready to get started?
There are multiple methods. I like to use this method, because it allows for easy debugging and making changes, without the need for a developer.
What do you need to implement dynamic remarketing?
- Google Tag Manager
- Working Microsoft Ads-account
- A functional datalayer
- Optional: The Chrome extension called ‘UET Tag Helper‘
- A willingness to learn and improve results 🙂
Let’s go!
Create Dynamic Remarketing Audiences in Microsoft Ads
- Log in to Microsoft Ads.
- Go to Tools → Audiences
- Click Create Audience → choose Dynamic remarketing list
- Name it clearly, e.g. “Product Viewers – 90 days”
- Audience type: Product viewers. Membership duration: 90 days (or your choice). Save.
- Repeat for any other lists you want now or later (e.g., Cart abandoners, Purchasers). You’ll fill these automatically once your GTM tags fire.
For example, like this:
Add/check the UET Base Tag in GTM
You need the UET Tag for your remarketing to work.
You probably already have this.
I like Microsoft’s built-in tag template in Google Tag Manager.
Find it here:
- Google Tag Manager → Tags → New.
- Tag type: Bing Ads Universal Event Tracking.
- Paste your UET Tag ID.
- Track Type: Page Load.
- Trigger: All Pages. Save.
That looks something like this:

As a trigger, choose ‘All Pages’.
Create Google Tag Manager Variables to Read Product Data for Microsoft Ads
Before we create the tag, we create the Triggers and Variables.
We will use this later to fill in the Tag.
We don’t cover the basis here. Please read about Tags, Triggers, and Variables in this Support doc. from Google.
First, it’s good to know that dynamic remarketing for Microsoft Ads collects data during the following events on your website.
Dynamic remarketing list you’re tracking | Required page type |
General visitors | ecomm_pagetype: ‘home’ ecomm_pagetype: ‘category’ ecomm_pagetype: ‘other’ Note: Any user not included in the page type for searchresults, product, cart, or purchase will be included in the general visitors audience. |
Product searchers | ecomm_pagetype: ‘searchresults’ |
Product viewers | ecomm_pagetype: ‘product’ |
Shopping cart abandoners | ecomm_pagetype: ‘cart’ |
Past buyers | ecomm_pagetype: ‘purchase’ |
Please find the steps here:
We’ll create two data layer variables.
- DLV – Product ID
Data Layer Variable Name: ecommerce.items.0.item_id
Type: Data Layer Variable
- DLV – Product Price
Data Layer Variable Name: ecommerce.items.0.price
Type: Data Layer Variable
This is a guess for most websites, please ensure you capture:
- Your product ID
- The product price
Fire a “view_item” Remarketing Event on Product Pages
Next to triggers, we need some variables to pass on data from the data layer to Microsoft Ads.
Please find a complete remarketing tag below. Note the values under ‘Event action’, ‘Retail page type’ and ‘Retail total value’.
Also, the ‘ecomm_pagetype’ is very important.
That should be ‘product’ for the view on a product page.
This is taken from the table in chapter 3.
Above, you can see GTM’s “Bing Ads UET” tag template.
Please find it here:
- GTM → Tags → New → Bing Ads Universal Event Tracking.
UET Tag ID: your ID. - Track Type: Vertical: Ecommerce
- Event Action: view_item
- Retail product ID = Value: taken from data layer (example later!)
- Retail page type = product
- Retail total value = Value: taken from data layer.
ecomm_pagetype = Value: product - Trigger:
- If your site pushes event: view_item: Trigger type = Custom Event > Event name = view_item.
Those values are populated using the data layer.
That’s what we’ll cover here!
Check if your dynamic remarketing works
To see if it works for Microsoft Ads, I like the following two methods:
- Use UET Tag Helper Chrome Extension
- Use Google Tag Manager’s Preview Mode.
Use UET Tag Helper Chrome Extension
This is pretty easy. Just use the Chrome extension and see if you can find:
1. Page Type (product)
2. Product ID (has to match your feed!)
3. Total value

That’s it, seems to work!
Use Google Tag Manager’s Preview Mode
Here, you see the tag firing on a ‘view_item’ event.
We can see it takes into account:
- Retail total value
- Retail page type
- Custom Parameter for ecomm_pagetype > Product.
- The correct product ID
Perfect! Now, we didn’t even need to make changes to the data layer, because of the custom parameter.
In the coming example, we use the ‘Data Layer’ part of the Preview Mode in Google Tag Manager. Please find it here:
In the red box, the ‘items’ element can be found.
This is what the datalayer shows for the ‘view_item’ event.
Note the values are correct!
Here are the variables that we used in the tag, to confirm that it’s working.
You can find this in ‘Variables’, next to ‘Data layer’ in the Preview Mode of Google Tag Manager.
We need ‘Data Layer Variables’ in Google Tag Manager to capture these values.
You now know:
- How to set up remarketing audiences in Microsoft Ads
- How to capture the right variables in GTM
- How to debug if dynamic remarketing for Microsoft Ads is working.
Boom, that’s it!
Add More E-commerce Events (recommended)
Now, you can also create tags for all other dynamic remarketing events.
As a refresher:
Dynamic remarketing list you’re tracking | Required page type |
General visitors | ecomm_pagetype: ‘home’ ecomm_pagetype: ‘category’ ecomm_pagetype: ‘other’ Note: Any user not included in the page type for searchresults, product, cart, or purchase will be included in the general visitors audience. |
Product searchers | ecomm_pagetype: ‘searchresults’ |
Product viewers | ecomm_pagetype: ‘product’ |
Shopping cart abandoners | ecomm_pagetype: ‘cart’ |
Past buyers | ecomm_pagetype: ‘purchase’ |
Common ID Pitfalls (read this carefully)
- IDs must match exactly between your website and Microsoft Merchant Center feed. If your feed uses variant IDs, send variant IDs from your site. If it uses product IDs, send those—no prefixes, spaces, or formatting differences.
- Don’t mix ID systems (e.g., sending Shopify product_id while your feed uses variant_id).
- Prices: send the same currency and numeric format your account expects.
- Test more than one product to ensure consistency.
Copy-Paste Checklist (so anyone can implement dynamic remarketing fast)
- Microsoft Ads → Tools → Audiences → Create dynamic list “Product Viewers – 90 days”. Save.
- GTM: Add UET base tag (template or HTML). Trigger: All Pages. Publish.
- GTM: Create variables
- ecommerce.items.0.item_id
- ecommerce.items.0.price
- ecommerce.page_type
- GTM: Create view_item UET tag with:
- event name: view_item
- ecomm_pagetype = product
ecomm_prodid = {{DLV – Product ID}}
ecomm_totalvalue = {{DLV – Product Price}}
Trigger: view_item” Custom Event or Page View where page_type = product. Publish.
- QA in GTM Preview + UET Tag Helper.
- Add tags and create audiences for other events.
- Watch your Microsoft Ads audience start filling over time.
Troubleshooting Dynamic Remarketing
- No tag firing on product pages
Check your trigger. If using Custom Event, make sure your site actually pushes event: “view_item”. If not, switch to a Page View trigger with a condition like page_type = product. - ecomm_prodid is empty
Your dataLayer path may be different. Open the GTM debugger → Variables tab on a product page and inspect what’s available under ecommerce. Adjust the DLV paths to match. - Audience stays at 0 after a few days
Most often an ID mismatch. Inspect a product page: is the exact ID (string and case) present in Merchant Center? Also check your feed file for the ID field you’re matching on.
Here is my view_item audience as an example: - Wrong currency or price
Confirm you’re pushing the correct price (gross vs net) and you’re not sending a string with currency symbols. Send numeric values only.
That’s it, hope you learned something today!
_________________________________________________________________________
At Adcrease, we’re highly specialized in Google Ads, with Senior (5+ years) experts only.
Feel free to reach out!
Request your free Google Ads audit using the form below or HERE.