Real Estate

Real estate guide

Overview

A guide to implement Criteo OneTag solution directly in your source code.

This tutorial will explain how to implement the Criteo OneTag solution directly in your source code. The Criteo OneTag should be placed in the header or body of each page on your site. Please implement the following 4 tags on your website.

As a Real estate website, it is important to understand what the product is that you wish to show in the banners: The building or the flat itself. Depending on that the tagging plan will be slightly different. The main idea is that the main product (building or flat) must have the product tag placed on the web page. If for instance the flat is the main product we will have the product tag on the flat description pages and the listing on the building description pages.

  1. Homepage Tag

  2. Category / Listing Tag (whole building,list of flats) [Optional]

  3. Product (single building, single flat)

  4. Conversion Tag

  5. Call me Back / Form Tag

[[disclaimer-developer]]

Tags

Homepage Tag

Install the following tag on the homepage of your website. Example URL: {{homepageurl}}

Field Overview Example Syntax
email Plain-text or MD5 Hash 79054025255fb1a26e4bc422aef54eb4 String. Trimmed and lowercase 32 character, encoded in UTF-8

Structure

Dynamically replace fields surrounded by ## with the users information. See Example

<!-- Criteo Homepage Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "##Email Address of user##" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "viewHome"});
</script> 
<!-- END Criteo Home Page Tag -->

Example

<!-- Criteo Homepage Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "79054025255fb1a26e4bc422aef54eb4" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "viewHome"});
</script> 
<!-- END Criteo Home Page Tag -->

Category / Listing Tag

Install the following tag on the listing, category, and search results pages of your website (building or flat depending on your marketing strategy). Example URL: {{homepageurl}}/category?id=categoryid1

Field Overview Example Syntax
email Plain-text or MD5 Hash 79054025255fb1a26e4bc422aef54eb4 String. Trimmed and lowercase 32 character, encoded in UTF-8
item unique ID of Building/Flat BuildingID_1 String

Structure

Dynamically replace fields surrounded by ## with users information. See Example

<!-- Criteo Category / Listing Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "##Email Address of user##" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "viewList", item: ["##Building/Flat ID 1##", "##Building/Flat ID 2##", "##Building/Flat ID 3##"] });
</script> 
<!-- END Criteo Category / Listing Tag -->

Example

<!-- Criteo Category / Listing Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "79054025255fb1a26e4bc422aef54eb4" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "viewList", item: ["BuildingID_1", "BuildingID_2", "BuildingID_3"] });
</script> 
<!-- END Criteo Category / Listing Tag -->

Product tag

Install the following tag on the product detail pages of your website. Example URL: YOUR_HOMEPAGE_URL/product?id=productid_1

Field Overview Example Syntax
email Plain-text or MD5 Hash 79054025255fb1a26e4bc422aef54eb4 String. Trimmed and lowercase 32 character, encoded in UTF-8
item unique ID of Building/Flat BuildingID_1 String

Structure

Dynamically replace fields surrounded by ## with users information. See Example

<!-- Criteo Product Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "##Email Address of user##" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "viewItem", item: "##Building/Flat ID 1##" });
</script> 
<!-- END Criteo Product Tag -->

Example

<!-- Criteo Product Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "79054025255fb1a26e4bc422aef54eb4" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "viewItem", item: "BuildingID_1" });
</script> 
<!-- END Criteo Product Tag -->

Conversion Tag

Install the following tag on the sales confirmation or Thank You page of your website. Example URL: {{homepageurl}}/thankyou

Field Overview Example Syntax
email Plain-text or MD5 Hash 79054025255fb1a26e4bc422aef54eb4 String. Trimmed and lowercase 32 character, encoded in UTF-8
id Confirmation or Order # 7654322 Integer. Unique ID
item.id unique ID of Building/Flat BuildingID_1 String
item.price cost-per-lead/acquisition/price could be "1" by default String or Integer, excluding the currency symbol
item.quantity number of units added 1 Integer

Structure

Dynamically replace fields surrounded by ## with users information. See Example

<!-- Criteo Sales Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "##Email Address of user##" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "trackTransaction", id: ##Transaction ID##, item: [
    {id: "##Building/Flat ID 1##", price: ##CPA##, quantity: ##Number of Units## }
    //add a line for each additional line in the basket
]}
);
</script> 
<!-- END Criteo Sales Tag -->

Example

<!-- Criteo Sales Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "79054025255fb1a26e4bc422aef54eb4" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "trackTransaction", id: 7654322, item: [
    {id: "BuildingID_1", price: 1, quantity: 1 }
    //add a line for each additional line in the basket
]}
);
</script> 
<!-- END Criteo Sales Tag -->

Call me Back / Form Tag

In case you have a call back form on your site, you can use this solution for the Tag implementation. Place the Confirmation Tag inside the function, for example, criteoCallBackEvent () and then simply invoke this function as soon as you a receive success response from the server right after the user entered the phone number (you may use this function .ajaxSuccess())

Field Overview Example Syntax
email Plain-text or MD5 Hash 79054025255fb1a26e4bc422aef54eb4 String. Trimmed and lowercase 32 character, encoded in UTF-8
id Confirmation or Order # 7654322 Integer. Unique ID
item.id unique ID of Building/Flat BuildingID_1 (could be "1" by default) String
item.price cost-per-lead/acquisition/price could be "1" by default String or Integer, excluding the currency symbol
item.quantity number of units added 1 Integer

Dynamically replace fields surrounded by ## with users information. See Example

<!-- Criteo Conversion Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
function criteoCallBackEvent () {
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "##Email Address of user##" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "trackTransaction", id: ##Transaction ID##, item: [
    {id: "1", price: ##CPA##, quantity: 1 } 
]}
);
};
</script> 
<!-- END Criteo Conversion Tag -->

Example

<!-- Criteo Conversion Tag -->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
function criteoCallBackEvent () {
window.criteo_q = window.criteo_q || [];
var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
window.criteo_q.push(
 { event: "setAccount", account: {{accountid}}}, // You should never update this line
 { event: "setEmail", email: "79054025255fb1a26e4bc422aef54eb4" }, // Can be an empty string 
 { event: "setSiteType", type: deviceType},
 { event: "trackTransaction", id: 7654322, item: [
    {id: "1", price: 1, quantity: 1 }   
]}
);
};
</script> 
<!-- END Criteo Conversion Tag -->

Verification

[[accurate]]