diff --git a/3p/vendors/incrementx.js b/3p/vendors/incrementx.js new file mode 100644 index 000000000000..d9a7fde3a56e --- /dev/null +++ b/3p/vendors/incrementx.js @@ -0,0 +1,12 @@ +// src/polyfills.js must be the first import. +import '#3p/polyfills'; + +import {register} from '#3p/3p'; +import {draw3p, init} from '#3p/integration-lib'; + +import {incrementx} from '#ads/vendors/incrementx'; + +init(window); +register('incrementx', incrementx); + +window.draw3p = draw3p; diff --git a/ads/_config.js b/ads/_config.js index d35746017295..8fb7d16ef890 100755 --- a/ads/_config.js +++ b/ads/_config.js @@ -652,6 +652,11 @@ const adConfig = jsonConfiguration({ }, 'improvedigital': {}, + 'incrementx': { + prefetch: 'https://cdn.incrementxserv.com/ixamp.js', + renderStartImplemented: true, + }, + 'industrybrains': { prefetch: 'https://web.industrybrains.com/js/ads/async/show.js', preconnect: [ diff --git a/ads/vendors/incrementx.js b/ads/vendors/incrementx.js new file mode 100644 index 000000000000..95f9f15eb705 --- /dev/null +++ b/ads/vendors/incrementx.js @@ -0,0 +1,11 @@ +import {validateData, writeScript} from '#3p/3p'; + +/** + * @param {!Window} global + * @param {!Object} data + */ +export function incrementx(global, data) { + validateData(data, ['vzid']); + global.ixParam = data; + writeScript(global, 'https://cdn.incrementxserv.com/ixamp.js'); +} diff --git a/ads/vendors/incrementx.md b/ads/vendors/incrementx.md new file mode 100644 index 000000000000..882e45c7bc97 --- /dev/null +++ b/ads/vendors/incrementx.md @@ -0,0 +1,20 @@ +# incrementx + +## Example + +```html + + +``` + +## Configuration + +For configuration details and to generate your tags, please contact https://www.incrementx.com/contact-us. + +Supported parameters: + +- `data-vzid` diff --git a/examples/amp-ad/ads.amp.esm.html b/examples/amp-ad/ads.amp.esm.html index 85a51b42665c..71780245c389 100644 --- a/examples/amp-ad/ads.amp.esm.html +++ b/examples/amp-ad/ads.amp.esm.html @@ -169,6 +169,7 @@ + @@ -1335,6 +1336,12 @@

Imedia

data-positions='[{"id":"p1", "zoneId":"seznam.novinky.ikona2"}, {"id":"p2", "zoneId":"seznam.novinky.ikona"}]'> +

IncrementX

+ + +

Index Exchange Header Tag

imedia + @@ -1192,6 +1193,10 @@

Imedia

data-positions='[{"id":"p1", "zoneId":"seznam.novinky.ikona2"}, {"id":"p2", "zoneId":"seznam.novinky.ikona"}]'>
+

IncrementX

+ + +

Index Exchange Header Tag

diff --git a/extensions/amp-ad/amp-ad.md b/extensions/amp-ad/amp-ad.md index 447de1ad0a6e..94ab17ab3ebc 100644 --- a/extensions/amp-ad/amp-ad.md +++ b/extensions/amp-ad/amp-ad.md @@ -365,6 +365,7 @@ See [amp-ad rules](validator-amp-ad.protoascii) in the AMP validator specificati - [Imonomy](../../ads/vendors/imonomy.md) - [Imedia](../../ads/vendors/imedia.md) - [Improve Digital](../../ads/vendors/improvedigital.md) +- [IncrementX](../../ads/vendors/incrementx.md) - [Insticator](../../ads/vendors/insticator.md) - [InsurAds](../../ads/vendors/insurads.md) - [Index Exchange](../../ads/vendors/ix.md) diff --git a/validator/testdata/feature_tests/ads.html b/validator/testdata/feature_tests/ads.html index 64c83d9a53f3..a4321a2bff1d 100644 --- a/validator/testdata/feature_tests/ads.html +++ b/validator/testdata/feature_tests/ads.html @@ -124,6 +124,7 @@ + @@ -804,6 +805,10 @@

Imedia

data-positions='[{"id":"p1", "zoneId":"seznam.novinky.ikona2"}, {"id":"p2", "zoneId":"seznam.novinky.ikona"}]'> +

IncrementX

+ + +

Industrybrains