In this guide, i am going to show you step by step how to set up correctly Dynamic Remarketing for Real Estate.
Dynamic Remarketing allows you to show ads that contain messages, pictures and prices from the exact properties that the visitor viewed on your real estate website instead of traditional remarketing where you build audiences based on certain rules and target them with a set message/banner.
Effectively you dynamically create ad banners and messages directly from web site resources and all this happen automatically by adding/removing properties directly into your CMS without having to worry about updating your ads.
There are multiple steps you need to take in order to set up your dynamic ads, so without wasting any more time, let’s dive into it.
Step 1: What are Dynamic Custom Parameters & why you need them
In traditional remarketing, you need to build an audience, create your ads and upload them to adwords. In order to create the ad you will need to fill some fields in adwords editor such as gifs, ad copies, banner pictures and destination URLs.
When a visitor match the audience rules you have built (for example: target anyone who sees a rental property), they will be retargeted with the ads you have uploaded in your account. Most of the times these are generic ads that aim to bring the user back to the web site and take an action such as submit a form or request a valuation of their property.
In dynamic remarketing you populate all those elements automatically via the custom parameters. Custom parameters will send values in your adwords account dynamically based on information that can be found on the website’s source code. Visitors will then get targeted with relevant information based on the properties they’ve seen on your web site.
Having said that, implementation of Custom parameters is your number one priority if you want to use Dynamic Remarketing as part of your digital strategy.
Note: Custom parameters can have multiple values.
Here is how Custom Parameters look for Real Estate:
- listing_id (REQUIRED)
- listing_pagetype (Recommended)
- listing_totalvalue (Recommended)
listing_id [Required]: The Listing ID must match values from the Listing ID column in your web site feed. This allows the dynamic ad to show users the exact listing(s) they viewed on your site. Every property page should have its own unique listing ID.
Here is how it looks in one of the clients I used to work back in the day:
listing_pagetype [Optional]: Page Type indicates which page people visited. Standard values used for automatic list creation are: home, searchresults, offerdetail, conversionintent, and conversion. Note that adwords will create automatically remarketing audiences based on your listing_pagetypes.
listing_totalvalue [Optional]: The total value of the listings viewed on your site. This could be the actual value of the property.
Step 2: How to Add Dynamic Parameters to your web site
Now there are two ways you can add those parameters directly to your web site:
One by adding the following dataLayer BEFORE Google Tag Manager container:
dataLayer.push({ 'event': 'fireRemarketingTag', 'google_tag_params': { 'listing_id': propertyID123, 'listing_pagetype': 'Sales', OR 2'lettings' OR 'searchresults' etc 'listing_totalvalue': 500000 } }); }
OR
hard code the remarketing script on all your pages:
script type="text/javascript"> var google_tag_params = { listing_id: "REPLACE_WITH_STRING_VALUE", listing_pagetype: "REPLACE_WITH_STRING_VALUE", listing_totalvalue: REPLACE_WITH_STRING_VALUE }; </script> <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = xxxxxxxx; var google_custom_params = window.google_tag_params; var google_remarketing_only = true; /* ]]> */ </script> <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"> </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/xxxxxxxx/?value=0&guid=ON&script=0"/> </div> </noscript>
Make sure that if you use the script above you will need to replace the string values like this:
script type=”text/javascript”>
var google_tag_params = {
listing_id: “REPLACE_WITH_STRING_VALUE“,
listing_pagetype: “REPLACE_WITH_STRING_VALUE“,
listing_totalvalue: REPLACE_WITH_STRING_VALUE
};
Those values needs to dynamically populate based on the page the user is viewing (which is where the developer is needed).
Analytics perk: you push these values via the GA tag and create Custom Dimensions. This is a super cool feature which enables in-depth analysis via Google Analytics.
<script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXXX-YY', 'auto'); // Insert your GA Web Property ID here, e.g., UA-12345-1 ga('set','dimension1','12345'); // REQUIRED Listing ID value, e.g., 12345, 67890 ga('set','dimension2',’searchresults’); // Optional Page type value, e.g., home, searchresults ga('set','dimension3','99.95'); // Optional Total value, e.g., 99.95, 5.00, 1500.00 ga('send', 'pageview'); </script>
Step 3: The GTM alternative
You can alternatively use custom JavaScript code to populate the dynamic parameter values from Tag Manager using custom JavaScript variables and/or custom HTML tags. This approach, while less robust is sometimes the most practical way of deploying your remarketing tags since it doesn’t require any code change directly to the site, however you still need a developer to write the script.
You can write custom JavaScript code that will pull the required dynamic values from the page’s source code and pass it to the tag. In general, the data needed by the tag is already present somewhere in the web document and can be retrieved via JavaScript code that is injected into the page through Tag Manager. The downside of this method is that it relies on the site’s source code.
If you go via GTM here is the custom script you need to fire:
<script> (function(){ try { if ( /* Insert JS expression to test for product page here */ ) { var prodid, totalvalue; /* Insert custom JS code to extract value of prodid and totalvalue from current document */ dataLayer.push({ 'event': 'fireRemarketingTag', 'google_tag_params': { 'listing_id: listid, 'listing_pagetype': 'Rent', 'listing_totalvalue': 850000 } }); } else if ( /* Insert JS expression to test for cart page */ ) { var prodid, totalvalue; /* Insert custom JS code to extract value of prodid and totalvalue from current document */ dataLayer.push({ 'event': 'fireRemarketingTag', 'google_tag_params': { 'listing_prodid': listid, 'listing_pagetype': 'Rent', 'listing_totalvalue': 850000 } }); } else if ( /* Insert JS expression to test for purchase page */ ) { var prodid, totalvalue; /* Insert custom JS code to extract value of prodid and totalvalue from current document */ dataLayer.push({ 'event': 'fireRemarketingTag', 'google_tag_params': { 'listing_prodid': listid, 'listing_pagetype': 'Rent', 'listing_totalvalue': 850000 } }); } else { dataLayer.push({ 'event': 'fireRemarketingTag', 'google_tag_params': { } }); } } catch (err) {} }) (); </script>
Here are some documents from Google Support Pages that will be useful to your Development team:
https://support.google.com/tagmanager/answer/6106899 and
Step 4: Uploading the Property Listing Feed in AdWords
Setting up the custom parameters is the first step to Dynamic Remarketing. Now that you have done that, you need to upload the property listing feed to adWords. That feed effectively matches the listingID on your web site with relevant information you want to present on your ads such as the image, property price, property type etc.
First you need to download the FEED template from Google’s Help pages. Scroll down to the “Get feed templates and specs for your business type“, expand the Property tab and download the excel file as shown below:
The file will have columns for some information (which I list below), however you do not have to list everything. Google Have tagged Listing ID and Name as required, however I will highlight (in red) the ones you really need:
- Listing ID: Required | we have already added this. I have an example in the doc attached.
- Listing name: Required | name of the property
- Final URL: Recommended; Required if not using Destination URL | Same domain as your website, begins with “http://” or “https://” | The URL of the page in your website that people reach when they click your ad. [Note: This is extremely important especially if you want to send visitors back to properties they’ve seen (It also enables an additional destination URL option while you create your dynamic ads (more on this on the Step 7: Setting up your banner ads)
- Image URL: Required | Format: JPG, JPEG, GIF, or PNG | if JPG, JPEG, or GIF must be used, image must be saved in RGB color code with an ICC profile attached to it.
- City name: Optional | String. Any sequence of letters and digits. | Can be displayed in ad. Recommended maximum length is 25 characters (12 for double-width languages).
- Description: Optional | String. Any sequence of letters and digits. | Can be displayed in ad. Recommended maximum length is 25 characters (12 for double-width languages).
- Price: Required | Price shown in ad
- Property type: Required | String. Any sequence of letters and digits. | May be used to group like items together for recommendation engine
- Listing type: Required | String. Any sequence of letters and digits. | May be used to group like items together for recommendation engine
Step 5: Setting up your feed for scheduled updates (upload)

Step 6: Setting up your Dynamic Remarketing Campaign
- Create a new campaign with”Display Network Only“
- Select your desirable marketing objective (You are doing this type of campaign for lead generation)
- Then once you save and move on to the next page, scroll down to the bottom and expand the “Dynamic ad settings“
- Select “Use dynamic ads” and from the drop down menu of “Business Type” select Real Estate
- A new field will open and by selecting it you should now see the name of your feed. Select it and click save
Step 7: Setting up your Banner Ads
Go the Ads tab and from drop down section select “Ad gallery”, then select “Dynamic ads”. This will give you three different options: Dynamic responsive ad (beta), Real estate image ad and Real estate text ad.
I am not a big fun of the Dynamic responsive ad (beta) atm, so let us use Real estate image ad.
The ads will now automatically load all the information needed from the feed, but you still have stylistic options available, as well as some additional options which i list below:
- Headline
- Price prefix
- Price suffix
- Button (this is your call to action)
- Final URL
- Click behaviour (optional)
Remember how we mentioned on Step 4 the importance of including the final URLs in the listing feed? If you have done so, you are presented with the option of “click behaviour”
This will allow you to select if your dynamic ads will send users to a particular URL (for example the “contact us” page) or in the URL you have included in your feed (the property details page).
Click Save, review your ads and have Remarketing.