Introduction
AIDEM Stream is the cornerstone of AIDEM Data Strategy. Is is used to collect data to inform our buying capabilties and measure results.
Stream Initialization
If you are using a Tag Manager that limits custom parameters to script initialization (like GTM), you can use this code:
<script>
(function() {
var el = document.createElement('script');
el.setAttribute('src', 'https://stream.aidemsrv.com/lib/stream.js');
el.setAttribute('data-key', 'your_uuid_here');
el.setAttribute('data-init-only', 'false');
el.setAttribute("defer", "");
document.body.appendChild(el);
})();
</script>
<script>window.aidemstream = window.aidemstream || (function(){(window.aidemstreamQ = window.aidemstreamQ || []).push(arguments);})</script>
To enable Stream on your website, you need to add a small piece of HTML code to the <head>
section of your page. Your AIDEM Account Manager will provide the data-key
.
<script src="https://stream.aidemsrv.com/lib/stream.js"
data-key="your_uuid_here"
data-init-only="false"
defer></script>
<script>window.aidemstream = window.aidemstream || (function(){(window.aidemstreamQ = window.aidemstreamQ || []).push(arguments);})</script>
The snippet send the Page view
event automatically. If you want to disable this, set data-init-only
to "true"
.
Sending Events
After Stream initialization, you can send events with:
<script>
aidemstream('track', 'event_name')
</script>
You can replace 'event_name'
with one of the allowed events.
If you want to send a payload with your event, you can use this syntax:
<script>
aidemstream('track', 'Purchase', {
price: 12,
currency: 'USD',
units: 3,
order_id: 'E237262'
})
</script>
Allowed payload content:
Value | Description and formatting | Example |
---|---|---|
price | Float: the value of the conversion | 12 |
currency | String: ISO 4217 currency code | 'USD' |
units | Integer: the number of purchased items | 3 |
order_id | String: unique order_id for conversions matching | 'E237262' |
Retail media activations
If you want to activate your retail data, you can send the payload after agreeing with AIDEM on the data schema.
<script>
aidemstream('track', 'PageView', {
price: 12,
currency: 'USD',
brand: 'AIDEM',
category: 'Apparel'
})
</script>
Identifying Users
If the identity of the user is known, you can use this method to set their ID. We accepts two ID types: 'email'
and 'phone'
, and in both cases the value will be hashed using SHA-256 before being send to our servers.
Identifier type | Identifier header | Description and formatting | Example |
---|---|---|---|
'email' | US and international formats are accepted. | '[email protected]' | |
Phone | 'phone' | Phone numbers must include a country code | '+441234567890' or '441234567890' |
<script>
// You can use 'id' with an email:
aidemstream('id', { email: '[email protected]' })
// with a phone number:
aidemstream('id', { phone: '+441234567890' })
// or both:
aidemstream('id', {
email: '[email protected]',
phone: '+441234567890'
})
</script>
Additional identifiers
You can add additional identifier to increase match rate.
Identifier type | Identifier header | Description and formatting | Example |
---|---|---|---|
Date of birth | 'dob' | We accept only ISO 8601 format. | '1992-05-25' |
Gender | 'gen' | We accept gender in the form of an initial, such as 'F' for female and 'M' for male. | 'F' |
<script>
// You can use 'id' with an email:
aidemstream('id', {
email: '[email protected]',
dob: '1992-05-25',
gen: 'F'
})
// with a phone number:
aidemstream('id', {
phone: '+441234567890',
gen: 'F'
})
// or both:
aidemstream('id', {
email: '[email protected]',
phone: '+441234567890',
dob: '1992-05-25',
gen: 'F'
})
</script>
De-identifying Users
If you want to delete the identity of the user from our systems, you can use this method to delete their ID. If you have previously identified a user using both 'email'
and 'phone'
, a deletion request containign only 'email'
or 'phone'
will delete both. Deletion requests will be processed immediatly.
Note: the deletion API is also available offline for
- Bulk deletion request
- Global deletion request: removing all user data ever sent by an
data-key
- Scoped deletion request: removing all user data ever sent by an
data-key
withing the specified time window or country.
<script>
// You can use 'delete-id' with an email:
aidemstream('delete-id', { email: '[email protected]' })
// with a phone number:
aidemstream('delete-id', { phone: '+441234567890' })
// or both:
aidemstream('delete-id', {
email: '[email protected]',
phone: '+441234567890'
})
</script>
Conversion API
To use the Conversion API, add the event_id parameter to the payload, which must be a unique identifier of the transaction. If you are already using Meta, to avoid duplication of events, the event_id passed must be the eventID of the Meta pixel.
If you want to send a payload with your event_id, you can use this syntax:
<script>
aidemstream('track', 'event_name', {
price: 12,
currency: 'USD',
sku: 'abcde',
event_id: 'EVENT_ID'
})
</script>
Content Security Policy Directive
The HTTP Content-Security-Policy response header allows website administrators to control resources the user agent is allowed to load for a given page.
If your website uses CSPs, you need to add the following directives:
connect-src https://*.aidemsrv.com https://cnv.event.prod.bidr.io https://segment.prod.bidr.io https://match.prod.bidr.io;
frame-src https://*.aidemsrv.com https://cnv.event.prod.bidr.io https://segment.prod.bidr.io https://match.prod.bidr.io;
img-src https://*.aidemsrv.com https://cnv.event.prod.bidr.io https://segment.prod.bidr.io https://match.prod.bidr.io;
script-src https://*.aidemsrv.com https://cnv.event.prod.bidr.io https://segment.prod.bidr.io https://match.prod.bidr.io;
script-src-elem https://*.aidemsrv.com https://cnv.event.prod.bidr.io https://segment.prod.bidr.io https://match.prod.bidr.io;
Debug
Adding stream_debug=true
as query parameter in the URL will log in the browser console data on event firing.
Cookies
Unless you request Audience Building or Post-view Event measurement, Stream will not set cookies.
Configuration Parameters
The configuration parameters should be passed as data-
attributes. The full list of attributes can be found at Parameters Reference page.