Telos SSAI Macros

Last updated: May 2, 2024

A macro is a pattern which allows IndiCue to pass a specific parameter in an ad request in a relevant placeholder. The ad stitching integration uses a specific URL format that contains various macros to control different aspects of the ad insertion process. Below is the detailed explanation of each macro.

When IndiCue sends a request, all macros placeholders are replaced with actual values for each parameter.

NameTagMacrosCategoryDescription Usage ExamplesAllowed ValuesConstraints
Master playlist source URL{m}StitcherThe base64 encoded HLS master playlist URL. This URL points to the video content that will be used as the primary stream.m=aHR0cDovL2hscy10Base64 encoded URL stringRequired. Must be a valid base64 encoded URL.
User ID{u}StitcherA unique identifier for the user accessing the stream. Used to track individual user sessions and personalize content delivery.u=testuserString
(e.g., alphanumeric user ID)
Required. Must be unique per user session.
No slate usage flag{isNoSlate}StitcherThis flag controls whether ads are inserted as additional content without replacing the main content. When enabled, ads appear alongside the main video. Use this if your HLS playlist does not include cue points.isNoSlate=trueBoolean
(true, false, 1, 0)
Optional. Default is false. Must be consistent with the content strategy.
Ad insertion interval{adInterval}StitcherSpecifies the time interval in seconds between consecutive ad insertions. Only works when no slate mode is enabled.adInterval=60Integer
(seconds)
Optional. Only relevant if isNoSlate is true.
Ad duration{adDuration}StitcherDefines the duration of each ad block in seconds. This controls how long each ad segment will play before returning to the main content.adDuration=30Integer
(seconds)
Required if ads are being inserted.
Preroll ad block{preroll}StitcherEnables or disables preroll ads that play before the main content begins. Useful for ensuring an ad plays as soon as a user connects to the stream.preroll=1Boolean
(true, false, 1, 0)
Optional. Default is false.
Aid{aid}CTVIdentifies the source ID within the stitching system. This helps in tracking and reporting on the ad delivery across various channels or platforms.aid=478241Integer or String
(e.g., numeric or alphanumeric identifier)
Required. Used for reporting and analytics. Must match predefined IDs in the system.
Site full URL{site_full_url}CTVThe full URL of the site where the video content is being streamed. This is used to track the source of the request and for analytical purposes.site_full_url=test.comString
(valid URL format)
Optional. Must be a valid and fully qualified URL.
Device User Agent{ua}CTVThe User-Agent string from the device accessing the content. This string identifies the browser and device, enabling optimized content delivery.ua=Mozilla/5.0 (Linux; Android 2.2; Mobile; Safari/533.1)String
(User-Agent format)
Optional. Useful for analytics and content adaptation.
IP Address{uip}CTVThe IP address of the device making the request. Used for geolocation, content personalization, and analytics.uip=192.168.1.1IPv4 or IPv6 addressOptional. Sensitive information, handle with care.
App name{app_name}CTVThe name of the application making the request. Helps in identifying and tracking the app usage for better targeting and reporting.app_name=ExampleAppStringOptional. Should match the name registered in app stores or internal tracking systems.
App bundle{app_bundle}CTVThe unique bundle identifier for the application. This identifier is used to track app-specific data, especially in mobile environments.app_bundle=com.example.appString
(e.g., reverse DNS format)
Optional. Important for mobile app tracking.
Device Model{device_model}CTVThe model of the device accessing the stream, such as the specific smartphone or smart TV model. This helps in content optimization and analytics.device_model=iPhone10,6StringOptional. Provides insight into the types of devices accessing the content.
Device Manufacturer{device_make}CTVThe manufacturer of the device, such as Apple, Samsung, etc. Used for analytics and potentially for optimizing content based on device capabilities.device_make=AppleStringOptional. Useful for brand-specific analytics and content adaptation.
Device Category{device_category}CTVIndicates the category of the device, such as smartphone, tablet, PC, smart TV, etc. This categorization helps in tailoring the content experience to the device type.device_category=4Integer
(e.g., 1=PC, 2=Smartphone, 3=Tablet, 4=Smart TV, 5=Set-Top Box)
Optional. Enhances targeting and content delivery.
App store URL{app_store_url}CTVThe URL of the application in the app store. Used for cross-promotion, app installation campaigns, and tracking user acquisition sources.app_store_url=https://itunes.apple.com/app/exampleString
(valid URL format)
Optional. Useful for app promotion and user acquisition analytics.
Device ID{device_id}CTVA unique identifier for the device accessing the content. This can be used for tracking, personalization, and delivering a consistent user experience across sessions.device_id=abcd1234String
(unique identifier format)
Optional. Important for maintaining user continuity and personalized experiences.