Sie sind auf Seite 1von 23

Direct Integration Implementation Guide ver.

1
1

How can you integrate RTB House in your Ad Server?


A. FIRST-PARTY AUDIENCE PIXELS
B. RTBx HEADER INTEGRATION WITH KEY=VALUE TARGETING
C. PASSBACK DELIVERY
Direct Integration Implementation Guide ver.1
2

A. FIRST-PARTY AUDIENCE PIXELS


After weve agreed to integrate and close all business terms - CPM threshold and ad sizes:
1. RTB House contact will send you Implementation Guide.
2. Publisher will prepare audience targeting using cookie-based audience pixels from ad
server used by the Publisher.
3. Publisher will send those pixels to RTB House contact.
4. RTB House contact will send delivery tags. Publisher implements them in their ad server.
5. Publisher sets and shares a test page for approval. This must be done prior to campaign
going live.

I. Preparing Retargeting Pixels for RTB House by Publisher:


Most of popular ad servers (DFP, AppNexus, AdTech, OpenX etc.) allow building custom audiences with
cookie-based pixels. Please refer to your ad servers support for further instructions how to generate
audience pixels.

Important:
Marking and unmarking pixels must work on both HTTPS and HTTP protocols.
RTB House supports only <noscript> image retargeting pixels.
Marking and unmarking pixels must be prepared for each agreed placement.
Marking retargeting pixel must activate delivery for a particular placement.
Unmarking pixel must deactivate or pause delivery for a particular placement.
Please share all supported macros, especially if your ad server allows dynamic control
over pixel lifetime.

Example:
300x250 has two CPM thresholds 1$ and 1.20$ needs 4 pixels in total (2 marking + 2
unmarking)

If you ad server does not support audience pixels feature please refer to this Open Source
repository allowing to create a self-hosted pixels which can be used in key=value targeting
https://github.com/ppbbii/PHP-retargeting-pixels-for-DFP-key-value-targeting
Direct Integration Implementation Guide ver.1
3
USEFUL TIPS FOR MAXIMIZING RTB HOUSE SPEND
1. Please set highest possible priority in your ad server for RTB House retargeting campaign.

[EXAMPLE ONLY] Marking and Unmarking pixels from custom ad server:


Type: Pixel URL:
Mark https://adserve.pl/retarget/pix?id=RTBhouse&cv=300x250_hi&d
=7

Unmark https://adserve.pl/retarget/pix?id=RTBhouse&cv=300x250_hi&d
=-1

IF YOU USE DFP Premium


Complete guide how to create a custom audience based pixels is available here:
https://support.google.com/dfp_premium/answer/2508388?hl=en

USEFUL TIPS FOR MAXIMIZING RTB HOUSE SPEND IN DFP


1. Marking pixels Membership Expiration: 3 days
embership Expiration: 1 day
2. Unmarking pixels with M
3. Please create 2 audiences (marking & unmarking) individually for each ad format and
each CPM threshold.

[EXAMPLE ONLY] Marking and Unmarking pixels from DFP:


Type: Pixel URL:
Mark https://pubads.g.doubleclick.net/activity;dc_iu=/EXAMPLE_ID
/DFPAudiencePixel;ord=1;dc_seg=EXAMPLE_SEG?

Unmark https://pubads.g.doubleclick.net/activity;dc_iu=/EXAMPLE_ID
/DFPAudiencePixel;ord=1;dc_seg=EXAMPLE_SEG_BLOCK?

II. Implementing RTB House delivery tag in ad server


RTB House provides delivery tags for each ad format and CPM threshold
Example:
300x250 has two CPM thresholds 1$ and 1.20$
RTB House will provide 2 delivery tags for 300x250

RTB House provides two types of delivery tags synchronous and asynchronous. Please use
version which works best according to your experience.
Direct Integration Implementation Guide ver.1
4

We strongly suggest using highest possible priority for delivery of audience based campaign.
For example: Sponsorship in DFP

*[EXAMPLE ONLY] Synchronous version:


<!-- [PUBS CUN1aetMrfJEkmHXR8TY 300x250 sync] Please DO NOT change anything in provided
tag. --><script>var PubHash='CUN1aetMrfJEkmHXR8TY';wAD='300'; hAD='250';var
eURIc=encodeURIComponent(location.href); if (eURIc ===
''){eURIc='http://noURLerror.com';};var h=window.location.hostname;var
ord=Math.floor(Math.random() * 1e16);var RTBsrc='<iframe
src="//storage.googleapis.com/rtbhouse-pubs-us/delivery/pubs.html#w='+wAD+'&h='+hAD+'&pu
blisher='+PubHash+'&url='+eURIc+'" width="'+wAD+'" height="'+hAD+'" scrolling="no"
frameBorder="0"></iframe>';document.write(RTBsrc);var
tPiX='//tracker.creativecdn.com/pubs/?hash='+PubHash+'&format='+wAD+'x'+hAD+'&host='+h+'
&cb='+ord+'';Timps=new Image();Timps.src=tPiX;</script><!-- end of tag [PUBS
CUN1aetMrfJEkmHXR8TY 300x250 sync] -->

*[EXAMPLE ONLY] Asynchronous version:


<!-- [PUBS CUN1aetMrfJEkmHXR8TY 300x250 async] Please DO NOT change anything in provided
tag. --><div id="CUN1aetMrfJEkmHXR8TY"></div><script>var
PubHash='CUN1aetMrfJEkmHXR8TY';wAD='300'; hAD='250';var
eURIc=encodeURIComponent(location.href); if (eURIc ===
''){eURIc='http://noURLerror.com';};var h=window.location.hostname;var
ord=Math.floor(Math.random() * 1e16);var
RTBhouseAD=document.createElement('iframe');RTBhouseAD.src='//storage.googleapis.com/rtbhous
e-pubs-us/delivery/pubs.html#w='+wAD+'&h='+hAD+'&publisher='+PubHash+'&url='+eURIc+'';RTBhou
seAD.width=wAD;RTBhouseAD.height=hAD;RTBhouseAD.style.border='0';RTBhouseAD.style.overflow='
hidden';RTBhouseAD.scrolling='no';document.getElementById(''+PubHash+'').appendChild(RTBhous
eAD);var
tPiX='//tracker.creativecdn.com/pubs/?hash='+PubHash+'&format='+wAD+'x'+hAD+'&host='+h+'&cb=
'+ord+'';Timps=new Image();Timps.src=tPiX;</script><!-- end of tag [PUBS
CUN1aetMrfJEkmHXR8TY 300x250 async] -->

Important note:
Direct Integration Implementation Guide ver.1
5
Variable eURIc must be filled with encoded url of a page where delivery takes place. If delivery is inside an
iframe please pass encoded URL to RTB House delivery tag using appropriate ad servers macro.

[EXAMPLE ONLY]:
Supported macro in publishers ad server %%ENCODED_URL%%

<!-- [PUBS CUN1aetMrfJEkmHXR8TY 300x250 async] Please DO NOT change anything in provided
tag. --><div id="CUN1aetMrfJEkmHXR8TY"></div><script>var
PubHash='CUN1aetMrfJEkmHXR8TY';wAD='300'; hAD='250'; var eURIc='%%ENCODED_URL%%'; if (eURIc
=== ''){eURIc='http://noURLerror.com';};var h=window.location.hostname;var
ord=Math.floor(Math.random() * 1e16);var
RTBhouseAD=document.createElement('iframe');RTBhouseAD.src='//storage.googleapis.com/rtbhous
e-pubs-us/delivery/pubs.html#w='+wAD+'&h='+hAD+'&publisher='+PubHash+'&url='+eURIc+'';RTBhou
seAD.width=wAD;RTBhouseAD.height=hAD;RTBhouseAD.style.border='0';RTBhouseAD.style.overflow='
hidden';RTBhouseAD.scrolling='no';document.getElementById(''+PubHash+'').appendChild(RTBhous
eAD);var
tPiX='//tracker.creativecdn.com/pubs/?hash='+PubHash+'&format='+wAD+'x'+hAD+'&host='+h+'&cb=
'+ord+'';Timps=new Image();Timps.src=tPiX;</script><!-- end of tag [PUBS
CUN1aetMrfJEkmHXR8TY 300x250 async] -->

Do note - macro must be replaced by a correctly encoded URL, ex for a


https://www.rtbhouse.com/ -> https%3A//www.rtbhouse.com/

1. Copy and paste RTB House delivery tag sent by RTB House contact
2. If you have multiple placements, please carefully use the correct one matching audience
targeting.
3. Set a test page for RTB House to verify, before the campaign is live.
Direct Integration Implementation Guide ver.1
6

III. PRE-LAUNCH TEST DELIVERY


Before launching the campaign, please create a test page and send its URL to us. Also, please
send screenshot of ad servers settings:
1. Order
2. Line item
3. Ad targeting

If it doesnt work properly on your end, please let us know.

Once your RTB House contact confirms test page works well, the campaign is ready to go live.

Please let us know when you start the campaign!

Automatic delivery report provided to RTB House contact will also be highly appreciated for
monitoring delivery health on our end.
Direct Integration Implementation Guide ver.1
7

B. RTBx HEADER INTEGRATION WITH KEY=VALUE


TARGETING
After weve agreed to integrate and close all business terms - CPM threshold and ad sizes:
1. RTB House contact will send you Implementation Guide.
2. Publisher implements RTBx Script (loader/header script) on all pages of the website
where RTB House will deliver ads.
3. Publisher prepares key=value targeting for each ad format based on the list provided by
RTB House Contact.
4. RTB House contact will send delivery tags. Publisher implements them in their ad server.
5. Publisher sets and shares a test page for approval. This must be done prior to campaign
going live.

I. RTBx Script - Loader/Header:


The webmaster must implement RTBx script on all pages of the website where RTB House will deliver ads.
This could be done directly in source or using Tag Managers [ex. Google Tag Manager].
Please put the RTBx script just before the closing </head> tag.
RTBx script must be placed below the header tag used by Publisher ad server.
The RTBx script runs asynchronously - it wont impact the site performance or delay loading time.

[EXAMPLE ONLY]
<!-- Sample RTBx Script, please don't use this one as it will not work. Use the one provided
by RTB House contact -->
<script>
var RTBx=RTBx||{};RTBx={
CookieName:"rh_exampleonly",
rtgt_set:!1,GetCookie:function(a){for(var b=a+"=",c=document.cookie.split(";
"),d=0;d<c.length;d++){for(var e=c[d];"
"==e.charAt(0);)e=e.substring(1);if(0==e.indexOf(b))return
decodeURIComponent(e.substring(b.length,e.length))}return""},rtgt:function(){if(RTBx.rtgt_se
t===!1){var
a="https://x-"+RTBx.CookieName.substring(3)+".inventorycdn.com/js?cookie="+RTBx.CookieName,b
=document.createElement("script");b.type="text/javascript",b.src=a,b.async=!0,document.getEl
ementsByTagName("head").length>0?document.getElementsByTagName("head")[0].appendChild(b):doc
ument.getElementsByTagName("body").length>0&&document.getElementsByTagName("body")[0].append
Child(b),RTBx.rtgt_set=!0}},SetRetargeting:function(){RTBx.rtgt();for(var
a=RTBx.GetCookie(RTBx.CookieName),b=a.split("|"),c=[],d=0;d<b.length;d++)c.push(b[d].split("
/")[0]);a.length>0&&googletag.cmd.push(function(){googletag.pubads().setTargeting("keylimit"
,c).addService(googletag.pubads()),googletag.enableServices()})}};try{RTBx.SetRetargeting()}
catch(a){}
</script>
<!-- ENDOF Sample RTBx Script, please don't use this one as it will not work. Use the one
provided by RTB House contact -->
Direct Integration Implementation Guide ver.1
8
Please refer to this simple source from example HTML page with integrated RTBx script
http://jsfiddle.net/RTBhouse/t20ssgtd/embedded/html/

[EXAMPLE ONLY] Integration with DFP header tag

II. Targeting key = values for each ad format:


Your RTB House contact will provide you with a detailed information about ad size, CPM
threshold, key, value which will be needed in setting campaign in ad server. Please find
example below (please dont use this one, only use the one sent by RTB House contact):
[EXAMPLE ONLY]
Ad size & CPM treshold key value

300x250 1 EUR keylimit CUN1aetMrfJEkmHXR8TY

300x250 1.5 EUR keylimit hbmRiVtTdZUsBDF2Wynz

160x600 1 EUR keylimit yWLtU9NCoD3Me1PJGK7u


Direct Integration Implementation Guide ver.1
9
DFP TARGETING SETTING
Log in to your DFP https://www.google.com/dfp/ using your ID/PASS
1. Go to Inventory > Key-values and create as predefined value/s
2. The key names & values are provided by your RTB House contact.
*Example (sample) :
3. New Key Name: keylimit. Set values according to the instruction sent by a RTB House contact
[EXAMPLE ONLY] Predefined values: keylimit=CUN1aetMrfJEkmHXR8TY,
keylimit=hbmRiVtTdZUsBDF2Wynz, keylimit=yWLtU9NCoD3Me1PJGK7u
4. Click New Key.

5. On the next page, put the key in the name and select Values type as Users will select from predefined
targeting values. then click the Add values. Set values according to the instruction sent by a RTB House
contact.
*[EXAMPLE ONLY] : keylimit=CUN1aetMrfJEkmHXR8TY keylimit=hbmRiVtTdZUsBDF2Wynz,
keylimit=yWLtU9NCoD3Me1PJGK7u
Direct Integration Implementation Guide ver.1
10
6. Put the values sent by a RTB House contact, then click Apply button.
[EXAMPLE ONLY]
CUN1aetMrfJEkmHXR8TY, hbmRiVtTdZUsBDF2Wynz, yWLtU9NCoD3Me1PJGK7u,
[EXAMPLE ONLY]
keylimit=CUN1aetMrfJEkmHXR8TY, keylimit=hbmRiVtTdZUsBDF2Wynz,
keylimit=yWLtU9NCoD3Me1PJGK7u

7. Once you confirmed the settings, please click Save button.


[EXAMPLE ONLY] : keylimit=CUN1aetMrfJEkmHXR8TY,keylimit=hbmRiVtTdZUsBDF2Wynz,
keylimit=yWLtU9NCoD3Me1PJGK7u
Direct Integration Implementation Guide ver.1
11

III. Implementing RTB House delivery tag in ad server:


RTB House provides delivery tags for each key=value.
RTB House provides two types of delivery tags synchronous and asynchronous. Please use
version which works best according to your experience.

UN1aetMrfJEkmHXR8TY:
[EXAMPLE ONLY] Synchronous version for value C
<!-- [PUBS CUN1aetMrfJEkmHXR8TY 300x250 sync] Please DO NOT change anything in provided
tag. --><script>var PubHash='CUN1aetMrfJEkmHXR8TY';wAD='300'; hAD='250';var
eURIc=encodeURIComponent(location.href); if (eURIc ===
''){eURIc='http://noURLerror.com';};var h=window.location.hostname;var
ord=Math.floor(Math.random() * 1e16);var RTBsrc='<iframe
src="//storage.googleapis.com/rtbhouse-pubs-us/delivery/pubs.html#w='+wAD+'&h='+hAD+'&pu
blisher='+PubHash+'&url='+eURIc+'" width="'+wAD+'" height="'+hAD+'" scrolling="no"
frameBorder="0"></iframe>';document.write(RTBsrc);var
tPiX='//tracker.creativecdn.com/pubs/?hash='+PubHash+'&format='+wAD+'x'+hAD+'&host='+h+'
&cb='+ord+'';Timps=new Image();Timps.src=tPiX;</script><!-- end of tag [PUBS
CUN1aetMrfJEkmHXR8TY 300x250 sync] -->

UN1aetMrfJEkmHXR8TY:
[EXAMPLE ONLY] Asynchronous version for value C
<!-- [PUBS CUN1aetMrfJEkmHXR8TY 300x250 async] Please DO NOT change anything in provided
tag. --><div id="CUN1aetMrfJEkmHXR8TY"></div><script>var
PubHash='CUN1aetMrfJEkmHXR8TY';wAD='300'; hAD='250';var
eURIc=encodeURIComponent(location.href); if (eURIc ===
''){eURIc='http://noURLerror.com';};var h=window.location.hostname;var
ord=Math.floor(Math.random() * 1e16);var
RTBhouseAD=document.createElement('iframe');RTBhouseAD.src='//storage.googleapis.com/rtbhous
e-pubs-us/delivery/pubs.html#w='+wAD+'&h='+hAD+'&publisher='+PubHash+'&url='+eURIc+'';RTBhou
seAD.width=wAD;RTBhouseAD.height=hAD;RTBhouseAD.style.border='0';RTBhouseAD.style.overflow='
hidden';RTBhouseAD.scrolling='no';document.getElementById(''+PubHash+'').appendChild(RTBhous
eAD);var
tPiX='//tracker.creativecdn.com/pubs/?hash='+PubHash+'&format='+wAD+'x'+hAD+'&host='+h+'&cb=
'+ord+'';Timps=new Image();Timps.src=tPiX;</script><!-- end of tag [PUBS
CUN1aetMrfJEkmHXR8TY 300x250 async] -->
Direct Integration Implementation Guide ver.1
12
Important note:
Variable eURIc must be filled with encoded url of a page where delivery takes place. If delivery is inside an
iframe please pass encoded URL to RTB House delivery tag using appropriate ad servers macro.

[EXAMPLE ONLY]:
Supported macro in DFP ad server %%SITE%%

<!-- [PUBS CUN1aetMrfJEkmHXR8TY 300x250 async] Please DO NOT change anything in provided
tag. --><div id="CUN1aetMrfJEkmHXR8TY"></div><script>var
PubHash='CUN1aetMrfJEkmHXR8TY';wAD='300'; hAD='250';var eURIc=' %%SITE%%'; if (eURIc ===
''){eURIc='http://noURLerror.com';};var h=window.location.hostname;var
ord=Math.floor(Math.random() * 1e16);var
RTBhouseAD=document.createElement('iframe');RTBhouseAD.src='//storage.googleapis.com/rtbhous
e-pubs-us/delivery/pubs.html#w='+wAD+'&h='+hAD+'&publisher='+PubHash+'&url='+eURIc+'';RTBhou
seAD.width=wAD;RTBhouseAD.height=hAD;RTBhouseAD.style.border='0';RTBhouseAD.style.overflow='
hidden';RTBhouseAD.scrolling='no';document.getElementById(''+PubHash+'').appendChild(RTBhous
eAD);var
tPiX='//tracker.creativecdn.com/pubs/?hash='+PubHash+'&format='+wAD+'x'+hAD+'&host='+h+'&cb=
'+ord+'';Timps=new Image();Timps.src=tPiX;</script><!-- end of tag [PUBS
CUN1aetMrfJEkmHXR8TY 300x250 async] -->

DFP ORDER /LINE ITEM CREATION


1. Create an order like you would do for a regular campaign and create a separate Line Item for
each key=value pair.
[EXAMPLE ONLY] keylimit=CUN1aetMrfJEkmHXR8TY,keylimit=hbmRiVtTdZUsBDF2Wynz,
keylimit=yWLtU9NCoD3Me1PJGK7u. You need 3 Line Items in Order in this example.
2. Go to Orders, then click New order
Direct Integration Implementation Guide ver.1
13

3. Fill out New order Name, Advertiser and all optional order fields if needed.

4. In New line item, fill out the Name, Inventory size and each Settings fields and select ad
units you want to deliver the RTB House Ads on.
Direct Integration Implementation Guide ver.1
14

5. In Adjust delivery options please set Frequency limits for test period during integration.
We strongly advise to use 5 impressions per 1 days at least for the first week of delivery. After
we check of discrepancies on both ends you can disable the frequency limit.

6. In Add targeting settings click Key-values from the left category, select key which you set
up at Custom targeting area before. (In this *example case keylimit) Then enter value which
corresponding selected ad units.
[EXAMPLE ONLY] keylimit=CUN1aetMrfJEkmHXR8TY.
Direct Integration Implementation Guide ver.1
15
Direct Integration Implementation Guide ver.1
16
7. Enter the name of this targeting and save it. (this will be useful while creating other line items
for values corresponding with other ad sizes)

8. All setting completed, click Save button.


Direct Integration Implementation Guide ver.1
17
SET RTB HOUSE DELIVERY TAG IN DFP
1. Select the order you created, and select the line item. Click Add creatives , then select
Third party.
Direct Integration Implementation Guide ver.1
18
2. Put the name as you like, copy and paste RTB House delivery tag sent by your RTB House
contact. Save it.
*If you have multiple zones, please be careful to use correct one according to Line item settings.
** For var eURIc please set var eURIc=%%SITE%%
*** [EXAMPLE ONLY] if you targeted Line item on C UN1aetMrfJEkmHXR8TY please use delivery
tag described with exactly the same ad id.
Direct Integration Implementation Guide ver.1
19

IV. PRE-LAUNCH TEST DELIVERY


Before launching the campaign, please create a test page and send its URL to us. Also, please
send screenshot of ad servers settings:
1. Order
2. Line item
3. Key=value settings
4. Ad targeting

If it doesnt work properly on your end, please let us know.

Once your RTB House contact confirms test page works well, the campaign is ready to go live.

Please let us know when you start the campaign!

Automatic delivery report provided to RTB House contact will also be highly appreciated for
monitoring delivery health on our end.
Direct Integration Implementation Guide ver.1
20

C. PASSBACK DELIVERY
After weve agreed to integrate and close all business terms - CPM threshold and ad sizes:
1. RTB House contact will send you Implementation Guide.
2. Publisher sends passback delivery code to RTB House contact which will be fired when
our delivery tag is not willing to serve an impression.
3. RTB House contact will provide delivery tags with Publishers passback code
implemented.
4. Publisher sets and shares a test page for approval. This must be done prior to campaign
going live.

I. Preparing passbacks to traffic remnant ads in ad server.

Most of commonly used ad servers (DFP, AppNexus, AdTech etc.) have possibility to passback
remnant inventory not used by 3p delivery tag. RTB House delivery tags are able to passback
unfilled impressions.

Please refer to your ad servers support for further instruction how to generate passback
delivery code.

If any part of your inventory is on HTTPS, the passback code must work on both HTTPS and
HTTP protocols.

We strongly advise to use this integration solution only if your ad server is working fully
asynchronously.

IF YOU USE DFP as your ad server please refer to this URL for preparing passback delivery
code:
https://support.google.com/dfp_sb/answer/1693146?hl=en

EXAMPLE ONLY this how passback delivery code looks in DFP:


<!-- Beginning PassBack for Ad unit adformat ### size: [[300,250]] -->
<script type='text/javascript' src='https://www.googletagservices.com/tag/js/gpt.js'>
googletag.pubads().definePassback('EXAMPLE/adformat',
[[300,250]]).setClickUrl('[INSERT_CLICK_COUNTER_HERE]').display();
</script>
<!-- End Passback -->

When passback delivery codes are ready for each agreed ad size please send them to your
RTB House contact.
Direct Integration Implementation Guide ver.1
21

II. Implementing RTB House delivery tag in ad server.


RTB House provides separate delivery tags for each ad format and CPM threshold
Example:
300x250 has two CPM thresholds 1$ and 1.20$
RTB House will provide 2 delivery tags for 300x250

We strongly suggest to use highest possible priority for delivery of audience based delivery for
example: Sponsorship in DFP

*[EXAMPLE ONLY] Asynchronous version:


<script type="text/javascript" src="//www.googletagservices.com/tag/js/gpt.js"></script>
<div id="CUN1aetMrfJEkmHXR8TY"></div>
<script> // semi-passback 300x250
// TODO - hash, subdomain
var RTBx = RTBx || {}
RTBx = {
CookieName: 'rh_exampleonly',
ph: 'CUN1aetMrfJEkmHXR8TY',
wAD: '300',
hAD: '250',

rtgt_set: false,
eURIc:
(encodeURIComponent(location.href)!='')?encodeURIComponent(location.href):'http://noURLerror
.com',
GetCookie: function(cname) {
var name = cname + '=';
var ca = document.cookie.split('; ');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
Direct Integration Implementation Guide ver.1
22

if (c.indexOf(name) == 0) {
return decodeURIComponent(c.substring(name.length, c.length));
}
}
eturn "";
r
},
rtgt: function(){
if (RTBx.rtgt_set === false) {
var rtgt_url =
'https://x-'+RTBx.CookieName.substring(3)+'.inventorycdn.com/js?cookie='+RTBx.CookieName;
var rtgt_script = document.createElement('script');
rtgt_script.type = 'text/javascript';
rtgt_script.src = rtgt_url;
rtgt_script.async = true;
if (document.getElementsByTagName("head").length > 0)
document.getElementsByTagName("head")[0].appendChild(rtgt_script);
else if (document.getElementsByTagName("body").length > 0)
document.getElementsByTagName("body")[0].appendChild(rtgt_script);
RTBx.rtgt_set = true;
}},
ord: ''+Math.floor(Math.random() * 1e16)+'',
SetRetargeting: function() {
RTBx.rtgt();
var cv = RTBx.GetCookie(RTBx.CookieName);
var Placements = cv.split('|');
var targeting = [];
for (var i = 0; i < Placements.length; i++) {
targeting.push(Placements[i].split('/')[0]); }
if (targeting.indexOf(RTBx.ph) > -1) {
// RTB House delivery tag
var RTBhouseAD=document.createElement('iframe');
RTBhouseAD.src= location.protocol +
'//storage.googleapis.com/rtbhouse-pubs-us/delivery/pubs.html#w='+RTBx.wAD+'&h='+RTBx.hAD+'&
publisher='+RTBx.ph+'&url='+RTBx.eURIc+'';
RTBhouseAD.width=RTBx.wAD;
RTBhouseAD.height=RTBx.hAD;
RTBhouseAD.style.border='0';
RTBhouseAD.style.overflow='hidden';
RTBhouseAD.scrolling='no';
document.getElementById(''+RTBx.ph+'').appendChild(RTBhouseAD);
// custom tracking
(new
Image()).src='//tracker.creativecdn.com/pubs/?hash='+RTBx.ph+'&format='+RTBx.wAD+'x'+RTBx.hA
D+'&&url='+RTBx.eURIc+'cb='+Math.floor(Math.random() * 1e16)+'';
// ENDOF - RTB House delivery taga

} else {
Direct Integration Implementation Guide ver.1
23

// custom tracking
(new
Image()).src='//tracker.creativecdn.com/passback/?hash='+RTBx.ph+'&format='+RTBx.wAD+'x'+RTB
x.hAD+'&url='+RTBx.eURIc+'&cb='+Math.floor(Math.random() * 1e16)+'';
// START PLACEHOLDER passback delivery code
googletag.pubads().definePassback('1234567890/adformat',
[[300,250]]).setClickUrl('[INSERT_CLICK_COUNTER_HERE]').display();
// ENDOF PLACEHOLDER passback delivery code
}
},
};
try{
RTBx.SetRetargeting();
} catch(err) {/*no errors*/};
</script>

1. Copy and paste RTB House delivery tag which was sent by your RTB House contact
2. If you have multiple placements, please carefully use the correct one matching audience
targeting.
3. Set a test page for RTB House to verify, before the campaign is live.

III. PRE-LAUNCH TEST DELIVERY


Before launching the campaign, please create a test page and send its URL to us. Also, please
send screenshot of ad servers settings:
1. Order
2. Line item
3. Ad targeting

If it doesnt work properly on your end, please let us know.

Once your RTB House contact confirms test page works well, the campaign is ready to go live.

Please let us know when you will start the campaign!

Automatic delivery report provided to RTB House contact will also be highly appreciated for
monitoring delivery on our end.