diff --git a/tarteaucitron.services.js b/tarteaucitron.services.js index da55501..56386eb 100644 --- a/tarteaucitron.services.js +++ b/tarteaucitron.services.js @@ -53,11 +53,12 @@ tarteaucitron.services.pardot = { } }; -// xandr +// xandr universal pixel +// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/universal-pixel-overview.html tarteaucitron.services.xandr = { "key": "xandr", "type": "ads", - "name": "Xandr", + "name": "Xandr (Universal)", "uri": "https://www.xandr.com/privacy/cookie-policy/", "needConsent": true, "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'], @@ -85,6 +86,88 @@ tarteaucitron.services.xandr = { } }; +// xandr segment +// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/segment-pixels-advanced.html +tarteaucitron.services.xandrsegment = { + "key": "xandrsegment", + "type": "ads", + "name": "Xandr (Segment)", + "uri": "https://www.xandr.com/privacy/cookie-policy/", + "needConsent": true, + "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'], + "js": function () { + "use strict"; + var uniqIds = [], + i, + uri; + + tarteaucitron.fallback(['xandrsegment-canvas'], function (x) { + var uniqId = '_' + Math.random().toString(36).substr(2, 9); + uniqIds.push(uniqId); + return '
'; + }); + + for (i = 0; i < uniqIds.length; i += 1) { + uri = '//ib.adnxs.com/seg?t=2&'; + uri += 'add=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAdd') + '&'; + uri += 'add_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAddCode') + '&'; + uri += 'remove=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemove') + '&'; + uri += 'remove_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemoveCode') + '&'; + uri += 'member=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentMember') + '&'; + uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRedir') + '&'; + uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentValue') + '&'; + uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentOther'); + + document.getElementById(uniqIds[i]).innerHTML = '