___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 Onpage Tag",
  "brand": {
    "id": "brand_dummy",
    "displayName": "i19s sGTM Onpage 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 Onpage 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": "tagSettings",
    "displayName": "Tag Settings",
    "groupStyle": "ZIPPY_CLOSED",
    "subParams": [
      {
        "type": "TEXT",
        "name": "redirect_mode",
        "displayName": "Redirect Mode",
        "simpleValueType": true,
        "help": "Overwrites the corresponding partner-specific default setting. It controls the way in which forwardings are set up.",
        "valueHint": "0"
      }
    ]
  },
  {
    "type": "GROUP",
    "name": "customerDataSettings",
    "displayName": "Customer Data Settings",
    "groupStyle": "ZIPPY_CLOSED",
    "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": "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."
      }
    ]
  },
  {
    "type": "GROUP",
    "name": "attributionSettings",
    "displayName": "Attribution Settings",
    "groupStyle": "ZIPPY_CLOSED",
    "subParams": [
      {
        "type": "TEXT",
        "name": "site_id",
        "displayName": "Site Id",
        "simpleValueType": true,
        "valueHint": "LandingPage",
        "help": "A short description of the page."
      },
      {
        "type": "TEXT",
        "name": "product_id",
        "displayName": "Product Id",
        "simpleValueType": true,
        "valueHint": "test_M3tq",
        "help": "The unique identifier of the product. Use this, if this is a page that displays a specific product."
      },
      {
        "type": "TEXT",
        "name": "timestamp",
        "displayName": "Timestamp",
        "simpleValueType": true,
        "valueHint": "1643390148",
        "help": "Usage for cache invalidation."
      },
      {
        "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": "http_referrer",
        "displayName": "HTTP Referrer",
        "simpleValueType": true,
        "valueHint": "http://mywebsite.com",
        "help": "The complete Browser-URL on which the user comes from."
      },
      {
        "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": "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"
      }
    ]
  }
]


___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 = {}));
    function mapTrackingUrlType(type) {
        if (type === undefined) {
            return TrackingUrlType.unknown;
        }
        switch (type) {
            case 'click': return TrackingUrlType.click;
            case 'conversion': return TrackingUrlType.conversion;
            case 'view': return TrackingUrlType.view;
            default: return TrackingUrlType.unknown;
        }
    }

    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 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 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:
                logToConsole('tracking_url_type = tsv');
                queryString += '/tsv?';
                break;
            case TrackingUrlType.unknown:
                logToConsole('TrackingUrlType.unknown defaults to tracking_url_type = tsc');
                queryString += '/tsc?';
                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 getEventData = require('getEventData');

    var sendHttpGet = require('sendHttpGet');

    var setResponseStatus = require('setResponseStatus');

    var logToConsole = require('logToConsole');

    var encodeUriComponent = require('encodeUriComponent');

    var json = require('JSON');

    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 = {}));

    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 initVariableFromTagOrEvent(logToConsole, getEventData, variable) {
        var tagValue = data[variable];
        var eventValue = getEventData(variable);
        return selectValue(logToConsole, variable, tagValue, eventValue);
    }

    var getCookieValues = require('getCookieValues');

    var makeString = require('makeString');

    var getTimestampMillis = require('getTimestampMillis');

    var DEFAULT_TRACKING_HOST = 'proxy.ingenious.cloud';
    var TAG_VERSION = '47e8f98d2f66a2b11b249dc01f126382fb76f545';

    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 setResponseHeader = require('setResponseHeader');

    var getRemoteAddress = require('getRemoteAddress');

    var setCookie = require('setCookie');

    var urlData = {
        admedia_code: "",
        ip_address: initVariableFromTagOrEvent(logToConsole, getEventData, 'ip_address') || getRemoteAddress(),
        tracking_category: "",
        conversion_response_type: '',
        advertiser_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'advertiser_id') || '',
        basket: [],
        conversion_id: "",
        conversion_target: "",
        customer_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'customer_id') || '',
        customer_new: "",
        discount_code: "",
        discount_value: "",
        event_name: EventType.I19S_CLICK,
        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: "",
        product_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'product_id') || '',
        protocol: 'https',
        redirect_mode: initVariableFromTagOrEvent(logToConsole, getEventData, 'redirect_mode') || '0',
        session_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'session_id') || '',
        site_id: initVariableFromTagOrEvent(logToConsole, getEventData, 'site_id') || '',
        timestamp: initVariableFromTagOrEvent(logToConsole, getEventData, 'timestamp') || getTimestampMillis(),
        tracking_currency: "",
        tracking_domain: DEFAULT_TRACKING_HOST,
        tracking_url_type: mapTrackingUrlType(initVariableFromTagOrEvent(logToConsole, getEventData, 'tracking_url_type')) || TrackingUrlType.click,
        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') || '',
        version: initVariableFromTagOrEvent(logToConsole, getEventData, 'version') || TAG_VERSION
    };
    var url = generateTrackingUrl(encodeUriComponent, logToConsole, json, urlData);
    sendHttpGetRequest(sendHttpGet, setCookie, setResponseBody, setResponseHeader, logToConsole, json, setResponseStatus, url);

})();



___SERVER_PERMISSIONS___

[
  {
    "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": "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": "set_cookies",
        "versionId": "1"
      },
      "param": [
        {
          "key": "allowedCookies",
          "value": {
            "type": 2,
            "listItem": [
              {
                "type": 3,
                "mapKey": [
                  {
                    "type": 1,
                    "string": "name"
                  },
                  {
                    "type": 1,
                    "string": "domain"
                  },
                  {
                    "type": 1,
                    "string": "path"
                  },
                  {
                    "type": 1,
                    "string": "secure"
                  },
                  {
                    "type": 1,
                    "string": "session"
                  }
                ],
                "mapValue": [
                  {
                    "type": 1,
                    "string": "tsc"
                  },
                  {
                    "type": 1,
                    "string": "*"
                  },
                  {
                    "type": 1,
                    "string": "*"
                  },
                  {
                    "type": 1,
                    "string": "any"
                  },
                  {
                    "type": 1,
                    "string": "any"
                  }
                ]
              }
            ]
          }
        }
      ]
    },
    "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
  }
]


___TESTS___

scenarios: []


___NOTES___