___TERMS_OF_SERVICE___ By creating or modifying this file you agree to Google Tag Manager's Community Template Gallery Developer Terms of Service available at https://developers.google.com/tag-manager/gallery-tos (or such other URL as Google may provide), as modified from time to time. ___INFO___ { "type": "TAG", "id": "cvt_temp_public_id", "version": 1, "securityGroups": [], "displayName": "i19s sGTM Conversion Tag", "brand": { "id": "brand_dummy", "displayName": "i19s sGTM Conversion Tag", "thumbnail": "data:image/jpeg;base64,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LjAvIiB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxOTQ5MmU0ZC01OGNmLTU0NGEtYjYyZi05MzI2NmNmYjEyMTUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MWMzMDczYTUtNGIzNS00NGU5LWIzODctZTE0YjEzZThhMmFmIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YzM0Mjk2MmEtNTNlYS00YmU3LWEwNzItZmJmNzU2ZDU4NGRiIiBHSU1QOkFQST0iMi4wIiBHSU1QOlBsYXRmb3JtPSJNYWMgT1MiIEdJTVA6VGltZVN0YW1wPSIxNjQyNjA2MzgxNzYzOTExIiBHSU1QOlZlcnNpb249IjIuMTAuMjIiIGRjOkZvcm1hdD0iaW1hZ2UvanBlZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMS0wNi0yOVQxMjoyNjo1NyswMjowMCIgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDYtMjlUMTI6Mjc6MDcrMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTA2LTI5VDEyOjI3OjA3KzAyOjAwIj4gPGlwdGNFeHQ6TG9jYXRpb25DcmVhdGVkPiA8cmRmOkJhZy8+IDwvaXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+IDxpcHRjRXh0OkxvY2F0aW9uU2hvd24+IDxyZGY6QmFnLz4gPC9pcHRjRXh0OkxvY2F0aW9uU2hvd24+IDxpcHRjRXh0OkFydHdvcmtPck9iamVjdD4gPHJkZjpCYWcvPiA8L2lwdGNFeHQ6QXJ0d29ya09yT2JqZWN0PiA8aXB0Y0V4dDpSZWdpc3RyeUlkPiA8cmRmOkJhZy8+IDwvaXB0Y0V4dDpSZWdpc3RyeUlkPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmMzNDI5NjJhLTUzZWEtNGJlNy1hMDcyLWZiZjc1NmQ1ODRkYiIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHN0RXZ0OndoZW49IjIwMjEtMDYtMjlUMTI6MjY6NTcrMDI6MDAiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDpjaGFuZ2VkPSIvIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmNiNzUzZjFhLTdhNjctNDI0Ni1iNWYwLTM4YmQwNzRlMDViMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHN0RXZ0OndoZW49IjIwMjEtMDYtMjlUMTI6Mjc6MDcrMDI6MDAiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDpjaGFuZ2VkPSIvIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjFiYjU3MjFiLTdmM2ItNGFmNS05ZjVjLTA2NjQ1OTUwOTJkMyIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHN0RXZ0OndoZW49IjIwMjEtMDYtMjlUMTI6Mjc6MDcrMDI6MDAiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDpjaGFuZ2VkPSIvIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjNjMmJhMDFkLTAyNWQtNDFlNi1iNzIyLWZkYzJkOGY1NGIwYSIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChNYWMgT1MpIiBzdEV2dDp3aGVuPSIyMDIyLTAxLTE5VDE2OjMzOjAxKzAxOjAwIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpjMzQyOTYyYS01M2VhLTRiZTctYTA3Mi1mYmY3NTZkNTg0ZGIiIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Y2I3NTNmMWEtN2E2Ny00MjQ2LWI1ZjAtMzhiZDA3NGUwNWIwIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YzM0Mjk2MmEtNTNlYS00YmU3LWEwNzItZmJmNzU2ZDU4NGRiIi8+IDxwbHVzOkltYWdlU3VwcGxpZXI+IDxyZGY6U2VxLz4gPC9wbHVzOkltYWdlU3VwcGxpZXI+IDxwbHVzOkltYWdlQ3JlYXRvcj4gPHJkZjpTZXEvPiA8L3BsdXM6SW1hZ2VDcmVhdG9yPiA8cGx1czpDb3B5cmlnaHRPd25lcj4gPHJkZjpTZXEvPiA8L3BsdXM6Q29weXJpZ2h0T3duZXI+IDxwbHVzOkxpY2Vuc29yPiA8cmRmOlNlcS8+IDwvcGx1czpMaWNlbnNvcj4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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" }, "description": "Official Ingenious Technologies sGTM Conversion Tag", "containerContexts": [ "SERVER" ] } ___TEMPLATE_PARAMETERS___ [ { "type": "LABEL", "name": "note", "displayName": "The values for the tag are collected in the following priority. The specific specification in the tag configuration is in first place; if this is not set, the corresponding variable is searched for in the data layer. If this is not set, the tag default is used." }, { "type": "GROUP", "name": "conversionSettings", "displayName": "Conversion Settings", "groupStyle": "ZIPPY_OPEN_ON_PARAM", "subParams": [ { "type": "TEXT", "name": "conversion_id", "displayName": "Conversion Id", "simpleValueType": true, "valueHint": "12412412", "help": "Unique conversion identifier from your system" }, { "type": "TEXT", "name": "conversion_target", "displayName": "Conversion Target", "simpleValueType": true, "valueHint": "sale", "help": "Defines an event and its type, for example Sale, Appinstall, Newslettersignup." }, { "type": "TEXT", "name": "tracking_currency", "displayName": "Tracking Currency", "simpleValueType": true, "valueHint": "EUR", "help": "Determines the currency for all amounts." }, { "type": "TEXT", "name": "unique_id", "displayName": "Unique Id", "simpleValueType": true, "valueHint": "9553071e-94a5-42fa-a0f7-b104265b2a30", "help": "The unique ID is used to identify conversions during the validation process." }, { "type": "TEXT", "name": "tracking_category", "displayName": "Tracking Category", "simpleValueType": true, "valueHint": "basket", "help": "The tracking category e.g. \u0027default\u0027 or \u0027basket\u0027" } ] }, { "type": "GROUP", "name": "ecommerceSettings", "displayName": "eCommerce Settings", "groupStyle": "ZIPPY_OPEN_ON_PARAM", "subParams": [ { "type": "TEXT", "name": "discount_value", "displayName": "Discount Value", "simpleValueType": true, "valueHint": "1.20", "help": "This is the total net discount value. \u00270.00\u0027 is allowed." }, { "type": "TEXT", "name": "discount_code", "displayName": "Discount Code", "simpleValueType": true, "valueHint": "10OFF", "help": "This is the applied discount code." }, { "type": "TEXT", "name": "basket", "displayName": "Basket", "simpleValueType": true, "valueHint": "[{ \"id\": 1 \"trc\": \"default\", \"pid\": \"test_cbj/h\", \"sku\": \"test_0-1234-567-89\", \"prn\" +: \"test_Product\", \"brn\": \"test_Brand\", \"prc\": \"test.try.success\", \"pri\": 173.66, \"qty\": 3, \"dsv\": 52.10, \"shp\": 5.56, \"tax\": 98.99, }]", "help": "The contents of the shopping cart consist of items containing the following values in JSON format" } ] }, { "type": "GROUP", "name": "attributionSettings", "displayName": "Attribution Settings", "groupStyle": "ZIPPY_OPEN_ON_PARAM", "subParams": [ { "type": "TEXT", "name": "session_id", "displayName": "Session Id", "simpleValueType": true, "valueHint": "sess_84266fdbd31d4c2c6d0665f7e8380fa3", "help": "A session Id. The data type is string." }, { "type": "TEXT", "name": "click_ids", "displayName": "Ingenious Click Id", "simpleValueType": true, "valueHint": "1-1e8c3cbc-f6fb-31ea-80ea-e1fbf6bc3c8c", "help": "A comma-separated list of click IDs." }, { "type": "TEXT", "name": "gdpr", "displayName": "Gdpr", "simpleValueType": true, "valueHint": "1", "help": "Activates the general data protection regulation according to TCFv2.0" }, { "type": "TEXT", "name": "gdpr_consent", "displayName": "Gdpr Consent", "simpleValueType": true, "valueHint": "CPSWakLPSWakLAGABCDEB...", "help": "The actual tcfv2.0 string" }, { "type": "TEXT", "name": "site_id", "displayName": "Site Id", "simpleValueType": true, "help": "A short description of the conversion page.", "valueHint": "Checkout" }, { "type": "TEXT", "name": "timestamp", "displayName": "Timestamp", "simpleValueType": true, "valueHint": "1643390148", "help": "Usage for cache invalidation." }, { "type": "TEXT", "name": "http_location", "displayName": "HTTP Location", "simpleValueType": true, "valueHint": "http://mywebsite.com", "help": "The complete Browser-URL on which the tag was fired." }, { "type": "TEXT", "name": "admedia_code", "displayName": "Admedia Code", "simpleValueType": true, "valueHint": "email.testnet.1234.56789.012345", "help": "The amc parameter is the ad media code, used to identify traffic." } ] }, { "type": "GROUP", "name": "customerDataSettings", "displayName": "Customer data settings", "groupStyle": "ZIPPY_OPEN_ON_PARAM", "subParams": [ { "type": "TEXT", "name": "customer_id", "displayName": "Customer Id", "simpleValueType": true, "valueHint": "user_12356", "help": "This specifies the internal customer ID from your system." }, { "type": "TEXT", "name": "customer_new", "displayName": "Customer New", "simpleValueType": true, "valueHint": "true", "help": "This specifies a new or existing customer. Use value \u0027true\u0027 for new customer or \u0027false\u0027 for existing customer." }, { "type": "TEXT", "name": "pay_method", "displayName": "Pay Method", "simpleValueType": true, "valueHint": "bank_transfer", "help": "Customer payment method, for example \u0027credit card\u0027 or \u0027paypal\u0027." }, { "type": "TEXT", "name": "user_value_1", "displayName": "User Value 1", "simpleValueType": true, "help": "These fields are for free additional information. All formats are accepted." }, { "type": "TEXT", "name": "user_value_2", "displayName": "User Value 2", "simpleValueType": true, "help": "These fields are for free additional information. All formats are accepted." }, { "type": "TEXT", "name": "user_value_3", "displayName": "User Value 3", "simpleValueType": true, "help": "These fields are for free additional information. All formats are accepted." } ] } ] ___SANDBOXED_JS_FOR_SERVER___ (function () { 'use strict'; var TrackingUrlType; (function (TrackingUrlType) { TrackingUrlType["click"] = "click"; TrackingUrlType["conversion"] = "conversion"; TrackingUrlType["view"] = "view"; TrackingUrlType["unknown"] = "unknown"; })(TrackingUrlType || (TrackingUrlType = {})); var QueryParameter; (function (QueryParameter) { QueryParameter["REDIRECT_MODE"] = "rmd"; QueryParameter["PRODUCT_ID"] = "productId"; QueryParameter["CUSTOMER_ID"] = "csi"; QueryParameter["GDPR"] = "gdpr"; QueryParameter["GDPR_CONSENT"] = "gdpr_consent"; QueryParameter["HTTP_LOCATION"] = "hrf"; QueryParameter["HTTP_REFERRER"] = "rrf"; QueryParameter["SESSION_ID"] = "session"; QueryParameter["SITE_ID"] = "sid"; QueryParameter["TIMESTAMP"] = "tst"; QueryParameter["USER_AGENT"] = "user_agent"; QueryParameter["USER_VALUE_1"] = "uv1"; QueryParameter["USER_VALUE_2"] = "uv2"; QueryParameter["USER_VALUE_3"] = "uv3"; QueryParameter["VERSION"] = "ver"; QueryParameter["CLICK_IDS"] = "iclid"; QueryParameter["CLICK_COOKIE"] = "tsc"; QueryParameter["VIEW_COOKIE"] = "tsv"; QueryParameter["UNIQUE_ID"] = "uniqid"; QueryParameter["TRACKING_CURRENCY"] = "orc"; QueryParameter["PAY_METHOD"] = "pmt"; QueryParameter["DISCOUNT_VALUE"] = "dsv"; QueryParameter["DISCOUNT_CODE"] = "dsc"; QueryParameter["CUSTOMER_NEW"] = "csn"; QueryParameter["CONVERSION_TARGET"] = "ctg"; QueryParameter["CONVERSION_ID"] = "cid"; QueryParameter["BASKET"] = "bsk"; QueryParameter["CONVERSION_RESPONSE_TYPE"] = "typ"; QueryParameter["TRACKING_CATEGORY"] = "trc"; QueryParameter["IP_ADDRESS"] = "ip_address"; QueryParameter["ADMEDIA_CODE"] = "amc"; })(QueryParameter || (QueryParameter = {})); var EventType; (function (EventType) { EventType["I19S_VIEW"] = "i19s_view"; EventType["I19S_CLICK"] = "i19s_click"; EventType["I19S_CONVERSION"] = "i19s_conversion"; EventType["I19S_UNKNOWN"] = "i19s_unknown"; })(EventType || (EventType = {})); var CookieName; (function (CookieName) { CookieName["CLICK_COOKIE"] = "tsc"; CookieName["VIEW_COOKIE"] = "tsv"; CookieName["ICLID_COOKIE"] = "_iclid"; })(CookieName || (CookieName = {})); var BasketParam; (function (BasketParam) { BasketParam["POSITION_ORDER_NUMBER"] = "id"; BasketParam["POSITION_UUID"] = "uuid"; BasketParam["PRODUCT_ID"] = "pid"; BasketParam["NAME"] = "prn"; BasketParam["STOCK_KEEPING_UNIT"] = "sku"; BasketParam["PRODUCT_PRICE"] = "pri"; BasketParam["BRAND_NAME"] = "brn"; BasketParam["QUANTITY"] = "qty"; BasketParam["DISCOUNT_VALUE"] = "dsv"; BasketParam["SHIPPING_COSTS"] = "shp"; BasketParam["TAX"] = "tax"; BasketParam["TRACKING_CATEGORY"] = "trc"; BasketParam["PRODUCT_CATEGORY"] = "prc"; })(BasketParam || (BasketParam = {})); function encodeBasket(logToConsole, encodeUriComponent, json, basket) { if (basket.length === 0) { logToConsole('Empty basket!'); return ''; } var basketParamArray = basket.map(function (entry) { var _a; return (_a = {}, _a[BasketParam.POSITION_ORDER_NUMBER] = entry.position_order_number || '', _a[BasketParam.POSITION_UUID] = entry.position_uuid || '', _a[BasketParam.PRODUCT_ID] = entry.product_id || '', _a[BasketParam.NAME] = entry.name || '', _a[BasketParam.STOCK_KEEPING_UNIT] = entry.stock_keeping_unit || '', _a[BasketParam.PRODUCT_PRICE] = entry.product_price || '', _a[BasketParam.BRAND_NAME] = entry.brand_name || '', _a[BasketParam.QUANTITY] = entry.quantity || '', _a[BasketParam.DISCOUNT_VALUE] = entry.discount_value || '', _a[BasketParam.SHIPPING_COSTS] = entry.shipping_costs || '', _a[BasketParam.TAX] = entry.tax || '', _a[BasketParam.TRACKING_CATEGORY] = entry.tracking_category || '', _a[BasketParam.PRODUCT_CATEGORY] = entry.product_category || '', _a); }); return encodeUriComponent(json.stringify(basketParamArray)); } function selectValue(logToConsole, variable, tagValue, layerValue) { if (tagValue) { logToConsole("init ".concat(variable, " with: ").concat(tagValue)); return tagValue; } else if (layerValue) { logToConsole("init ".concat(variable, " with: ").concat(layerValue)); return layerValue; } else { logToConsole("init ".concat(variable, " with default")); return ''; } } function initBasketServerside(getEventData, logToConsole, variable) { var tagValue = data[variable]; var eventData = getEventData(variable); if (tagValue) { logToConsole("init ".concat(variable, " with: ").concat(tagValue)); return tagValue; } else if (eventData) { logToConsole("init ".concat(variable, " with: ").concat(eventData)); return eventData; } else { logToConsole("init ".concat(variable, " with default")); return []; } } function initVariableFromTagOrEvent(logToConsole, getEventData, variable) { var tagValue = data[variable]; var eventValue = getEventData(variable); return selectValue(logToConsole, variable, tagValue, eventValue); } var logToConsole = require('logToConsole'); var getEventData = require('getEventData'); var makeString = require('makeString'); var getCookieValues = require('getCookieValues'); var getTimestampMillis = require('getTimestampMillis'); var DEFAULT_TRACKING_HOST = 'proxy.ingenious.cloud'; var TAG_VERSION = 'fe36494dc1f81d2f19b4fe821e5e03384a7a9fcd'; function generateTrackingUrl(encodeUriComponent, logToConsole, json, config) { logConfig(logToConsole, json, config); var tracking_url_type = config.tracking_url_type; var protocol = config.protocol; var tracking_domain = config.tracking_domain; var advertiser_id = config.advertiser_id; logToConsole('Start Encode Uri Components'); var i19s_click_cookie = encodeUriComponent(config.i19s_click_cookie || ''); var i19s_view_cookie = encodeUriComponent(config.i19s_view_cookie || ''); var i19s_click_ids = encodeUriComponent(config.i19s_click_ids || ''); var version = encodeUriComponent(config.version || ''); var redirect_mode = encodeUriComponent(config.redirect_mode || ''); var customer_id = encodeUriComponent(config.customer_id || ''); var user_value_1 = encodeUriComponent(config.user_value_1 || ''); var user_value_2 = encodeUriComponent(config.user_value_2 || ''); var user_value_3 = encodeUriComponent(config.user_value_3 || ''); var site_id = encodeUriComponent(config.site_id || ''); var product_id = encodeUriComponent(config.product_id || ''); var timestamp = encodeUriComponent(config.timestamp.toString() || ''); var session_id = encodeUriComponent(config.session_id || ''); var http_referrer = encodeUriComponent(config.http_referrer || ''); var http_location = encodeUriComponent(config.http_location || ''); var gdpr = encodeUriComponent(config.gdpr || ''); var gdpr_consent = encodeUriComponent(config.gdpr_consent || ''); var user_agent = encodeUriComponent(config.user_agent || ''); var basket = encodeBasket(logToConsole, encodeUriComponent, json, config.basket || []); var conversion_id = encodeUriComponent(config.conversion_id || ''); var conversion_target = encodeUriComponent(config.conversion_target || ''); var customer_new = encodeUriComponent(config.customer_new || ''); var discount_code = encodeUriComponent(config.discount_code || ''); var discount_value = encodeUriComponent(config.discount_value || ''); var pay_method = encodeUriComponent(config.pay_method || ''); var tracking_currency = encodeUriComponent(config.tracking_currency || ''); var conversion_response_type = encodeUriComponent(config.conversion_response_type || ''); var unique_id = encodeUriComponent(config.unique_id || ''); var tracking_category = encodeUriComponent(config.tracking_category || ''); var ip_address = encodeUriComponent(config.ip_address || ''); var admedia_code = encodeUriComponent(config.admedia_code || ''); logToConsole('End Encode Uri Components'); var baseUrl = "".concat(protocol, "://").concat(tracking_domain, "/ts/").concat(advertiser_id); logToConsole('Base URL: ' + baseUrl); var queryString = ''; switch (tracking_url_type) { case TrackingUrlType.click: logToConsole('tracking_url_type = tsc'); queryString += '/tsc?'; break; case TrackingUrlType.conversion: logToConsole('tracking_url_type = tsa'); queryString += '/tsa?'; break; case TrackingUrlType.view: break; case TrackingUrlType.unknown: break; } if (version) { queryString += "".concat(QueryParameter.VERSION, "=").concat(version); logToConsole(QueryParameter.VERSION + ' = ' + version); } if (i19s_click_cookie) { queryString += "&".concat(QueryParameter.CLICK_COOKIE, "=").concat(i19s_click_cookie); logToConsole(QueryParameter.CLICK_COOKIE + ' = ' + i19s_click_cookie); } if (i19s_view_cookie) { queryString += "&".concat(QueryParameter.VIEW_COOKIE, "=").concat(i19s_view_cookie); logToConsole(QueryParameter.VIEW_COOKIE + ' = ' + i19s_view_cookie); } if (i19s_click_ids) { queryString += "&".concat(QueryParameter.CLICK_IDS, "=").concat(i19s_click_ids); logToConsole(QueryParameter.CLICK_IDS + ' = ' + i19s_click_ids); } if (redirect_mode) { queryString += "&".concat(QueryParameter.REDIRECT_MODE, "=").concat(redirect_mode); logToConsole(QueryParameter.REDIRECT_MODE + ' = ' + redirect_mode); } if (customer_id) { queryString += "&".concat(QueryParameter.CUSTOMER_ID, "=").concat(customer_id); logToConsole(QueryParameter.CUSTOMER_ID + ' = ' + customer_id); } if (user_value_1) { queryString += "&".concat(QueryParameter.USER_VALUE_1, "=").concat(user_value_1); logToConsole(QueryParameter.USER_VALUE_1 + ' = ' + user_value_1); } if (user_value_2) { queryString += "&".concat(QueryParameter.USER_VALUE_2, "=").concat(user_value_2); logToConsole(QueryParameter.USER_VALUE_2 + ' = ' + user_value_2); } if (user_value_3) { queryString += "&".concat(QueryParameter.USER_VALUE_3, "=").concat(user_value_3); logToConsole(QueryParameter.USER_VALUE_3 + ' = ' + user_value_3); } if (site_id) { queryString += "&".concat(QueryParameter.SITE_ID, "=").concat(site_id); logToConsole(QueryParameter.SITE_ID + ' = ' + site_id); } if (product_id) { queryString += "&".concat(QueryParameter.PRODUCT_ID, "=").concat(product_id); logToConsole(QueryParameter.PRODUCT_ID + ' = ' + product_id); } if (timestamp) { queryString += "&".concat(QueryParameter.TIMESTAMP, "=").concat(timestamp); logToConsole(QueryParameter.TIMESTAMP + ' = ' + timestamp); } if (session_id) { queryString += "&".concat(QueryParameter.SESSION_ID, "=").concat(session_id); logToConsole(QueryParameter.SESSION_ID + ' = ' + session_id); } if (http_location) { queryString += "&".concat(QueryParameter.HTTP_LOCATION, "=").concat(http_location); logToConsole(QueryParameter.HTTP_LOCATION + ' = ' + http_location); } if (http_referrer) { queryString += "&".concat(QueryParameter.HTTP_REFERRER, "=").concat(http_referrer); logToConsole(QueryParameter.HTTP_REFERRER + ' = ' + http_referrer); } if (gdpr) { queryString += "&".concat(QueryParameter.GDPR, "=").concat(gdpr); logToConsole(QueryParameter.GDPR + ' = ' + gdpr); } if (gdpr_consent) { queryString += "&".concat(QueryParameter.GDPR_CONSENT, "=").concat(gdpr_consent); logToConsole(QueryParameter.GDPR_CONSENT + ' = ' + gdpr_consent); } if (user_agent) { queryString += "&".concat(QueryParameter.USER_AGENT, "=").concat(user_agent); logToConsole(QueryParameter.USER_AGENT + ' = ' + user_agent); } if (basket && basket !== '%5B%5D') { queryString += "&".concat(QueryParameter.BASKET, "=").concat(basket); logToConsole(QueryParameter.BASKET + ' = ' + basket); } if (conversion_id) { queryString += "&".concat(QueryParameter.CONVERSION_ID, "=").concat(conversion_id); logToConsole(QueryParameter.CONVERSION_ID + ' = ' + conversion_id); } if (conversion_target) { queryString += "&".concat(QueryParameter.CONVERSION_TARGET, "=").concat(conversion_target); logToConsole(QueryParameter.CONVERSION_TARGET + ' = ' + conversion_target); } if (customer_new) { queryString += "&".concat(QueryParameter.CUSTOMER_NEW, "=").concat(customer_new); logToConsole(QueryParameter.CUSTOMER_NEW + ' = ' + customer_new); } if (discount_code) { queryString += "&".concat(QueryParameter.DISCOUNT_CODE, "=").concat(discount_code); logToConsole(QueryParameter.DISCOUNT_CODE + ' = ' + discount_code); } if (discount_value) { queryString += "&".concat(QueryParameter.DISCOUNT_VALUE, "=").concat(discount_value); logToConsole(QueryParameter.DISCOUNT_VALUE + ' = ' + discount_value); } if (pay_method) { queryString += "&".concat(QueryParameter.PAY_METHOD, "=").concat(pay_method); logToConsole(QueryParameter.PAY_METHOD + ' = ' + pay_method); } if (tracking_currency) { queryString += "&".concat(QueryParameter.TRACKING_CURRENCY, "=").concat(tracking_currency); logToConsole(QueryParameter.TRACKING_CURRENCY + ' = ' + tracking_currency); } if (conversion_response_type) { queryString += "&".concat(QueryParameter.CONVERSION_RESPONSE_TYPE, "=").concat(conversion_response_type); logToConsole(QueryParameter.CONVERSION_RESPONSE_TYPE + ' = ' + conversion_response_type); } if (unique_id) { queryString += "&".concat(QueryParameter.UNIQUE_ID, "=").concat(unique_id); logToConsole(QueryParameter.UNIQUE_ID + ' = ' + unique_id); } if (tracking_category) { queryString += "&".concat(QueryParameter.TRACKING_CATEGORY, "=").concat(tracking_category); logToConsole(QueryParameter.TRACKING_CATEGORY + ' = ' + tracking_category); } if (ip_address) { queryString += "&".concat(QueryParameter.IP_ADDRESS, "=").concat(ip_address); logToConsole(QueryParameter.IP_ADDRESS + ' = ' + ip_address); } if (admedia_code) { queryString += "&".concat(QueryParameter.ADMEDIA_CODE, "=").concat(admedia_code); logToConsole(QueryParameter.ADMEDIA_CODE + ' = ' + admedia_code); } var url = "".concat(baseUrl).concat(queryString); logToConsole('Built tracking url: ' + url); return url; } function logConfig(logToConsole, json, data) { logToConsole('--------------------------------'); logToConsole('tracking url build with config:'); logToConsole(json.stringify(data)); logToConsole('--------------------------------'); } var encodeUriComponent = require('encodeUriComponent'); var json = require('JSON'); var sendHttpGet = require('sendHttpGet'); var setResponseHeader = require('setResponseHeader'); var setResponseStatus = require('setResponseStatus'); function setResponseCookies(setCookieHeader, json, setCookie) { for (var i = 0; i < setCookieHeader.length; i++) { var setCookieArray = setCookieHeader[i].split('; ').map(function (pair) { return pair.split('='); }); var setCookieJson = ''; for (var j = 1; j < setCookieArray.length; j++) { if (j === 1) setCookieJson += '{'; if (setCookieArray[j].length > 1) setCookieJson += '"' + setCookieArray[j][0] + '": "' + setCookieArray[j][1] + '"'; else setCookieJson += '"' + setCookieArray[j][0] + '": ' + true; if (j + 1 < setCookieArray.length) setCookieJson += ','; else setCookieJson += '}'; } setCookie(setCookieArray[0][0], setCookieArray[0][1], json.parse(setCookieJson)); } } function sendHttpGetRequest(sendHttpGet, setCookie, setResponseBody, setResponseHeader, logToConsole, json, setResponseStatus, url) { sendHttpGet(url).then(function (result) { logToConsole('Response from i19s with status code ' + result.statusCode + ' and headers ' + json.stringify(result.headers) + 'and body ' + result.body); if (result.statusCode >= 200 && result.statusCode < 400) { for (var key in result.headers) { if (key === 'set-cookie') { setResponseCookies(result.headers[key], json, setCookie); } else { setResponseHeader(key, result.headers[key]); } } if (result.body) { setResponseBody(result.body, 'binary'); } data.gtmOnSuccess(); } if (result.statusCode >= 400 && result.statusCode < 500) { setResponseBody(result.body || ''); setResponseStatus(result.statusCode); data.gtmOnSuccess(); } }, function (rejected) { setResponseStatus(500); logToConsole('The reason for failure is: ' + rejected); data.gtmOnFailure(); }); } var setResponseBody = require('setResponseBody'); var getRemoteAddress = require('getRemoteAddress'); var setCookie = require('setCookie'); var urlData = { ip_address: initVariableFromTagOrEvent(logToConsole, getEventData, 'ip_address') || getRemoteAddress(), tracking_category: initVariableFromTagOrEvent(logToConsole, getEventData, 'tracking_category') || 'default', conversion_response_type: "s", advertiser_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'advertiser_id') || '', basket: initBasketServerside(getEventData, logToConsole, 'basket') || [], conversion_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'conversion_id') || '', conversion_target: initVariableFromTagOrEvent(logToConsole, getEventData, 'conversion_target') || '', customer_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'customer_id') || '', customer_new: initVariableFromTagOrEvent(logToConsole, getEventData, 'customer_new') || '', discount_code: initVariableFromTagOrEvent(logToConsole, getEventData, 'discount_code') || '', discount_value: initVariableFromTagOrEvent(logToConsole, getEventData, 'discount_value') || '', event_name: EventType.I19S_CONVERSION, gdpr: initVariableFromTagOrEvent(logToConsole, getEventData, 'gdpr') || '', gdpr_consent: initVariableFromTagOrEvent(logToConsole, getEventData, 'gdpr_consent') || '', http_location: initVariableFromTagOrEvent(logToConsole, getEventData, 'http_location') || '', http_referrer: initVariableFromTagOrEvent(logToConsole, getEventData, 'http_referrer') || '', i19s_click_cookie: initVariableFromTagOrEvent(logToConsole, getEventData, 'i19s_click_cookie') || makeString(getCookieValues(CookieName.CLICK_COOKIE)) || '', i19s_click_ids: initVariableFromTagOrEvent(logToConsole, getEventData, 'i19s_click_ids') || makeString(getCookieValues(CookieName.ICLID_COOKIE)), i19s_view_cookie: initVariableFromTagOrEvent(logToConsole, getEventData, 'i19s_view_cookie') || makeString(getCookieValues(CookieName.VIEW_COOKIE)), pay_method: initVariableFromTagOrEvent(logToConsole, getEventData, 'pay_method') || '', product_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'product_id') || '', protocol: "https", redirect_mode: '', session_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'session_id') || '', site_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'site_id') || '', timestamp: initVariableFromTagOrEvent(logToConsole, getEventData, 'timestamp') || getTimestampMillis(), tracking_currency: initVariableFromTagOrEvent(logToConsole, getEventData, 'tracking_currency') || '', tracking_domain: DEFAULT_TRACKING_HOST, tracking_url_type: TrackingUrlType.conversion, unique_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'unique_id') || '', user_agent: initVariableFromTagOrEvent(logToConsole, getEventData, 'user_agent') || '', user_value_1: initVariableFromTagOrEvent(logToConsole, getEventData, 'user_value_1') || '', user_value_2: initVariableFromTagOrEvent(logToConsole, getEventData, 'user_value_2') || '', user_value_3: initVariableFromTagOrEvent(logToConsole, getEventData, 'user_value_3') || '', admedia_code: initVariableFromTagOrEvent(logToConsole, getEventData, 'admedia_code') || '', version: TAG_VERSION }; var url = generateTrackingUrl(encodeUriComponent, logToConsole, json, urlData); sendHttpGetRequest(sendHttpGet, setCookie, setResponseBody, setResponseHeader, logToConsole, json, setResponseStatus, url); })(); ___SERVER_PERMISSIONS___ [ { "instance": { "key": { "publicId": "send_http", "versionId": "1" }, "param": [ { "key": "allowedUrls", "value": { "type": 1, "string": "any" } } ] }, "clientAnnotations": { "isEditedByUser": true }, "isRequired": true }, { "instance": { "key": { "publicId": "get_cookies", "versionId": "1" }, "param": [ { "key": "cookieAccess", "value": { "type": 1, "string": "any" } } ] }, "clientAnnotations": { "isEditedByUser": true }, "isRequired": true }, { "instance": { "key": { "publicId": "logging", "versionId": "1" }, "param": [ { "key": "environments", "value": { "type": 1, "string": "debug" } } ] }, "clientAnnotations": { "isEditedByUser": true }, "isRequired": true }, { "instance": { "key": { "publicId": "read_event_data", "versionId": "1" }, "param": [ { "key": "eventDataAccess", "value": { "type": 1, "string": "any" } } ] }, "clientAnnotations": { "isEditedByUser": true }, "isRequired": true }, { "instance": { "key": { "publicId": "access_response", "versionId": "1" }, "param": [ { "key": "writeResponseAccess", "value": { "type": 1, "string": "any" } }, { "key": "writeHeaderAccess", "value": { "type": 1, "string": "specific" } } ] }, "clientAnnotations": { "isEditedByUser": true }, "isRequired": true }, { "instance": { "key": { "publicId": "read_request", "versionId": "1" }, "param": [ { "key": "requestAccess", "value": { "type": 1, "string": "any" } }, { "key": "headerAccess", "value": { "type": 1, "string": "any" } }, { "key": "queryParameterAccess", "value": { "type": 1, "string": "any" } } ] }, "clientAnnotations": { "isEditedByUser": true }, "isRequired": true }, { "instance": { "key": { "publicId": "set_cookies", "versionId": "1" }, "param": [] }, "isRequired": true } ] ___TESTS___ scenarios: [] ___NOTES___