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.
[[disclaimer-developer]]
Tags¶
Homepage Tag ¶
Install the following tag on the homepage of your website. Example URL: {{homepageurl}}
Field | Overview | Example | Syntax |
---|---|---|---|
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 |
---|---|---|---|
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 |
---|---|---|---|
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 |
---|---|---|---|
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 |
---|---|---|---|
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]]