___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___ { "displayName": "Adgravity", "categories": [ "ADVERTISING","MARKETING" ], "description": "Adgravity is a digital marketing company specializing in data analysis, programmatic buying and optimization of advertising budgets.", "securityGroups": [], "id": "cvt_temp_public_id", "type": "TAG", "version": 1, "brand": { "thumbnail": "data:image/png;base64,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", "displayName": "Custom template created by Luratic", "id": "brand_dummy" }, "containerContexts": [ "WEB" ] } ___TEMPLATE_PARAMETERS___ [ { "simpleValueType": true, "name": "accountId", "type": "TEXT", "valueValidators": [ { "type": "NON_EMPTY" } ], "displayName": "Account Id", "help": "Introduce here the javascript filename." } ] ___SANDBOXED_JS_FOR_WEB_TEMPLATE___ const injectScript = require('injectScript'); const encodeUriComponent = require('encodeUriComponent'); const trackingUrl = 'https://bucket.cdnwebcloud.com/' + encodeUriComponent(data.accountId) + '.js'; injectScript(trackingUrl,data.gtmOnSuccess,data.gtmOnFailure,'adgravityUniversalPx'); ___WEB_PERMISSIONS___ [ { "instance": { "key": { "publicId": "inject_script", "versionId": "1" }, "param": [ { "key": "urls", "value": { "type": 2, "listItem": [ { "type": 1, "string": "https://bucket.cdnwebcloud.com/*" } ] } } ] }, "clientAnnotations": { "isEditedByUser": true }, "isRequired": true } ] ___TESTS___ scenarios: - name: gtmOnSuccess is invoked on injectScript success code: |- // test that gtmOnSuccess() is called when injectScript succeeds mock('injectScript', (url, onSuccess, onFailure) => { onSuccess(); }); // Call runCode to run the template's code. runCode(); // Verify that the tag finished successfully. assertApi('gtmOnSuccess').wasCalled(); - name: gtmOnFailure is invoked when injectScript fails code: |- // test gtmOnFailure() is called when injectScript fails mock('injectScript', (url, onSuccess, onFailure) => { onFailure(); }); // Call runCode to run the template's code. runCode(); // Verify onFailure was called assertApi('gtmOnFailure').wasCalled(); ___NOTES___ Developed with ❤ by: Alfonso, Txema and Brais. Web: www.luratic.com Linkedin: https://www.linkedin.com/in/braiscalvo/ https://www.linkedin.com/in/alfonsorc/ https://www.linkedin.com/in/txema-s%C3%A1nchez-a48482ba/