⚠️ Important: This is a work in progress package that could face changes. Please, use the exact semantic version until it gets to 1.0.0 package version
Vendor by Consents Loader
Utilities to load vendors scripts according to user consents.
Loading list of vendors
import {initVendorConsentsLoader, addVendorLoadedEventListener} from '@adv-ui/vendor-by-consents-loader'
const OPTIMIZELY_KEY = 'optimizely'
initVendorConsentsLoader({
vendors: {
tealium: {
script: 'https://frtassets.fotocasa.es/external-scripts/utag-pro.js',
consents: {
purposes: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
specialFeatureOptins: [1]
}
},
[OPTIMIZELY_KEY]: {
script: 'https://frtassets.fotocasa.es/external-scripts/optimizely.js',
consents: {
purposes: [1, 2]
}
}
}
})
addVendorLoadedEventListener(({vendor}) => {
vendor === OPTIMIZELY_KEY && console.log('Optimizely has been loaded')
})
Loading specific vendors
Some vendors are used across all Adevinta Spain products and, for sake of convenience, they've their own script to load them.
Comscore
import {
addVendorLoadedEventListener,
loadComscore
} from '@adv-ui/vendor-by-consents-loader'
loadComscore({comscoreClientId: '7109919'})
addVendorLoadedEventListener(({vendor}) => {
vendor === 'comscore' && console.log('Comscore has been loaded')
})
Using it in Monolithic apps
// First load the UMD module.
<script src="https://unpkg.com/@adv-ui/vendor-by-consents-loader/umd/index.js"></script>
<script>
window.sui.vendors.loadComscore({comscoreClientId: '7109919'})
window.sui.vendors.initVendorConsentsLoader({
vendors: {
tealium: {
script: 'https://frtassets.fotocasa.es/external-scripts/utag-pro.js',
consents: {
purposes: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
specialFeatureOptins: [1]
}
},
}
})
window.sui.vendors.addVendorLoadedEventListener(({vendor}) => {
vendor === 'comscore' && console.log('Comscore has been loaded')
})
</script>
List of Purposes
Purposes:
- 1 - Store and/or access information on a device
- 2 - Select basic ads
- 3 - Create a personalised ads profile
- 4 - Select personalised ads
- 5 - Create a personalised content profile
- 6 - Select personalised content
- 7 - Measure ad performance
- 8 - Measure content performance
- 9 - Apply market research to generate audience insights
- 10 - Develop and improve products
Special Purposes
- SP1 - Ensure security, prevent fraud, and debug
- SP2 - Technically deliver ads or content
Features
- F1 - Match and combine offline data sources
- F2 - Link different devices
- F3 - Receive and use automatically-sent device characteristics for identification
Special Features
- SF1 - Use precise geolocation data
- SF2 - Actively scan device characteristics for identification