hey! We use cookies only to ensure our site works.

Media Personalization

Used in recommendations personalization
for media e-commerce digital

The Media Personalization schema is used to capture very granular view and usage behavior. The data is used to train machine learning models for personalization and recommendation purposes: a personalized list of recommended articles and videos to read, based on a user's behavior. Media poses specific challenges, as something like a list of articles might not be sensitive in itself, but could fingerprint users based on specific patterns in their behavior.

Like every strm data schema it has two main components, event contract and the serialization schema.

Event Contract reference


Schema reference


Event contract overview

Key fieldsession_idLinks events to the associated field for privacy processing.
PII fieldcustomer_id1needs consent
PII fielddevice_id1needs consent
PII fieldsession_id1needs consent
ValidationsnoneNo validations applied

Serialization schema fields

event_typeFollowableFollowed / FollowableUnfollowed
brand_sourceBrand or media source like Kiosk
platformViewer platform, any value as long as consistent
osOS Release Number. TODO details
versionApp version number
device_id(allowed) device ID. UUID, GUID, PII?
customer_idStores a customer ID as key-value to contain different ID's in use
session_idSession ID as set by producer, e.g. the browser cookie, or app open ID
context_idA unique identifier for the context (UUID)
swimlane_idA unique identifier for the lane
swimlane_rankDisplayed rank of the swimlane. TBD start at 1
swimlane_in_viewContains time > x% of item was in viewport. Implementation tbd.
swimlane_actionPin or unpin, or opt-in in e.g. Volkskrant
article_rankTBD start at 1
article_in_viewContains time > x% of item was in viewport. TODO tbd.
article_actionclick, ...
followable_idA server-set item id for that specific item
followable_rankDisplayed rank of the item. TBD start at 1
recommendation_idAn unique identifier for a recommendation (UUID)