Video Session Feed: Schema and Column Dictionary

Complete field, type, mode, and description reference for the Conviva Connect Video Session Source Data (SSD) schema.

Updated 2026-09-25 video-ssd, schema, column dictionary, fields

This page is the canonical column dictionary for the Conviva Connect Video Session Feed schema: every delivered field, its type, its mode, and what it means. For how these fields feed the metric calculations, see the metric SQL in Content Summary. Migrating from legacy SSD? See Legacy vs Connect.

Primary key and session identity

Each row is one lifetime session. The primary key for processing sessions is ConvivaSessionID plus the session start time (StartTimeUnix / StartTimeUnixMs). A session that is suspended and resumed appears as multiple rows with the same ConvivaSessionID but different start times, so always key on both fields. For the hourly feed, this same pair is the deduplication key (see Choose your feed).

Field naming

Field names are delivered in CamelCase, for example PlayingTime and StartTimeUnixMs. The names in the dictionary below match the delivered file exactly.

Sample delivered row

Below is an anonymized sample of a delivered daily Connect file: the header plus two session rows, exactly as the columns arrive. Scroll the table horizontally to see all 84 columns. The values are synthetic (test-network IP addresses and placeholder names), but the column order, casing, and formatting match a real delivered file. Download the full sample daily Connect file to open it in a spreadsheet or feed it through your pipeline.

ViewerIDAssetNameDeviceOSCountryStateCityPostalCodeASNISPStartTimeUnixStartTimeUnixMsStartupTimePlayingTimeReBufferingTimeInterruptsAverageBitRateStartupErrorSessionTagsIPV4IPV6IPAddressIPTypeCDNBrowserConvivaSessionIDStreamURLErrorListPercentageCompleteConnectionInducedRebufferingTimeVideoRestartTimeRejoinedCountVPFVPFErrorListContentLengthEndedStatusSessionEndedStatusEndTimeUnixEndTimeUnixMsVSFBusinessVSFBusinessErrorListVSFTechnicalVSFTechnicalErrorListVPFBusinessVPFBusinessErrorListVPFTechnicalVPFTechnicalErrorListPauseTimeCIRRInterruptCountMicroPlayingTimeMicroPlayingInterruptionsMicroBufferingTimeMicroBufferingInterruptionsLongRebufferingTimeLongRebufferingInterruptionsLastCDNEdgeServerLastCDNGroupIDExitDuringPreRollAdRelatedRebufferingRebufferingDuringAdsPausedRatioLastPlayheadTimeNumBitrateSwitchesAvgAverageBitRateCIRRelatedExitDeviceHardwareTypeDeviceManufactureDeviceMarketingNameDeviceNameDeviceOSVersionDeviceOSFamilyBrowserVersionPlayerFrameworkNamePlayerFrameworkVersionDeviceModelDeviceVendorConnectionTypeisLiveDMADecisionResourceDecisionBitrateDecisionResourceIdpCoreCDNDecisionResourceResolveddt
abcdef0000000000000000000000000000000000000000000000000000000001Example Asset 1Example OSUnited StatesSpringfield64500Example ISP176852160017685216000001650106080010000falsedv.mod=ExampleModel&c3.cm.id=example_id&net.t=WiFi&c3.device.conn=WiFi&c3.cm.genre=Example&c3.cws.clv=3.5.12&dv.os=Example%20OS&c3.cm.affiliate=N%2FA&dv.fw=Example%20Framework&c3.cm.seriesName=Example%20Series&c3.cm.brand=N%2FA&dv.cat=Example&dv.br=Native%20App&c3.cm.channel=example&c3.player.name=Example%20Player&c3.cm.showTitle=Example%20Show&c3.cm.contentType=Example&c3.cm.name=Example&c3.app.version=1.0.0&dv.mnf=ExampleMfr&c3.video.isLive=F&dv.osv=Example%20OS%201.0&c3.cm.genreList=Example&c3.cws.sf=7&has_an_ad=false192.0.2.10192.0.2.10IPv4OnlyINHOUSENative App1000000001:1000000002:1000000003:1000000004:1000000005N/A1000false1876000GracefulEnd17685216131768521613079falsefalsefalsefalse00000000unknownunknownfalse000.016900010falseSet Top BoxExampleMfrExample DeviceExample DeviceExample OS 1.0Example OSNative AppExample FrameworkExample Framework 1.0ExampleModelWiFifalse2026-01-15T23:00:00.000Z
abcdef0000000000000000000000000000000000000000000000000000000002Example Asset 2Example OSUnited StatesSpringfield64500Example ISP1768520000176852000032311944088350010000falsedv.mod=ExampleModel&c3.cm.id=example_id&net.t=WiFi&c3.device.conn=WiFi&c3.cm.genre=Example&c3.cws.clv=3.5.12&dv.os=Example%20OS&c3.cm.affiliate=N%2FA&dv.fw=Example%20Framework&c3.cm.seriesName=Example%20Series&c3.cm.brand=N%2FA&dv.cat=Example&dv.br=Native%20App&c3.cm.channel=example&c3.player.name=Example%20Player&c3.cm.showTitle=Example%20Show&c3.cm.contentType=Example&c3.cm.name=Example&c3.app.version=1.0.0&dv.mnf=ExampleMfr&c3.video.isLive=F&dv.osv=Example%20OS%201.0&c3.cm.genreList=Example&c3.cws.sf=7&has_an_ad=false198.51.100.23198.51.100.23IPv4OnlyINHOUSENative App1000000006:1000000007:1000000008:1000000009:1000000010N/A-1000falseByExpiration17685208001768520800439falsefalsefalsefalse00000000unknownunknownfalse000.0226200010falseSet Top BoxExampleMfrExample DeviceExample DeviceExample OS 1.0Example OSNative AppExample FrameworkExample Framework 1.0ExampleModelWiFitrue2026-01-15T23:00:00.000Z

Field dictionary

Note: All INTEGER type fields can store 64-bit integer values. The dictionary below is grouped by category; every group uses the same Field name, Type, Mode, and Description columns.

Session identity and lifecycle

Field name Type Mode Description
ViewerIDVARCHAR(128)NULLABLEUnique identifier of the viewer (sometimes called subscriber) watching content in that session. This is typically a number, or a hashed or masked identifier without any personally identifiable information. The same ViewerID can have multiple sessions. If Viewer ID is not available, the legacy SSD report shows the IP address, whereas Conviva Connect summary shows NULL.
ConvivaSessionIDVARCHAR(128)NULLABLEThe unique Conviva session identifier in the format of five colon-separated integer numbers. The first four blocks represent the Conviva Client ID and the last number block represents the Conviva Session ID. Example: "20048757:2397552430:4151350518:1876058113:4487054", where Client ID = 20048757:2397552430:4151350518:1876058113 and Session ID = 4487054.
StartTimeUnixINTEGERNULLABLEThe time when Conviva received the first heartbeat for the session. The format is Unix epoch time in seconds.
StartTimeUnixMsINTEGERNULLABLEThe time when Conviva received the first heartbeat for the session. The format is Unix epoch time in milliseconds.
EndTimeUnixINTEGERNULLABLEThe time the last session heartbeat within the day was received. The format is Unix epoch time in seconds.
EndTimeUnixMsINTEGERNULLABLEThe time the last session heartbeat within the day was received. The format is Unix epoch time in milliseconds.
EndedStatusINTEGERNULLABLEAn integer (0-5) showing the session status at the end of the day: 0 = Not Ended; at the SSD issue time, the session is still active. 1 = Gracefully ended; the session ended with a session ended event. 2 = Expired due to lack of heartbeat update; no heartbeat update was received for 2 minutes. 3 = Expired due to long buffering; the total session lifetime buffering exceeded 30 minutes, classified as a zombie session. 4 = Ended due to long pause; the session paused for a continuous period longer than 10 minutes. 5 = Ended due to continuous buffering; the session was in a continuous buffering state for longer than four minutes.
SessionEndedStatusSTRINGNULLABLEThe state of the session when it was ended, such as GracefulEnd, NotEnded, or ByExpiration.
dtTIMESTAMPNULLABLEStarting hour of the hourly interval range, in the format <YYYY-MM-DD>T<hh:mm:ss.sss>Z, where T is the separator for date and time and Z indicates UTC timezone. For example, 2024-05-21T15:00:00.000Z.

Content and asset

Field name Type Mode Description
AssetNameSTRINGNULLABLEThe name of the viewed video asset.
StreamURLVARCHAR(2048)NULLABLEThe URL of the video stream.
ContentLengthINTEGERNULLABLEThe asset length in milliseconds. Applicable only for VOD traffic. For LIVE video, the content length value is set to -1 for unknown.
PercentageCompleteINTEGERNULLABLEThe percentage of video content the viewer watched during a session. Percent Complete is calculated by dividing the total playing time for the session by the total content length, rounded to the nearest integer value. A value of -1 means the content length could not be obtained (for example, in live content). A value of 0 means the video did not start or the Percentage Complete is less than 1%.
isLiveBOOLEANNULLABLEWhether the content is a linear or live stream or a prerecorded VoD asset. The value is 'true' only for the live content type. For all other content types, such as Unknown, NULL, and VoD, the value is 'false'.
LastPlayheadTimeINTEGERNULLABLEThe last play time, after which a pause, end, or expire event occurred in a session that did not resume playing.

Geo and network

Field name Type Mode Description
CountrySTRINGNULLABLEThe country location where the content was watched.
StateVARCHAR(128)NULLABLEThe state location where the content was watched.
CitySTRINGNULLABLEThe city location where the content was watched.
PostalCodeSTRINGNULLABLEA series of numbers used for postal delivery area identification. This field is null when the postal code is unavailable.
DMASTRINGNULLABLEThe Designated Market Area or media region in which the session was viewed. This field is null when the DMA is unavailable.
ASNSTRINGNULLABLEAutonomous System Number for the ISP from which the video was streamed.
ISPSTRINGNULLABLEThe name of the Internet Service Provider.
IPV4VARCHAR(32)NULLABLEThe public IP address of the viewer's video playing device in v4 version. For example, 84.106.90.230.
IPV6VARCHAR(48)NULLABLEThe public IP address of the viewer's video playing device in v6 version. For example, 2600:8801:8d07:e100:c0a9:9de9:8741:267.
IPAddressVARCHAR(48)NULLABLEThe public IP address of the viewer's video playing device. The IP address, as seen by the Conviva gateway, typically corresponds to the modem gateway for fixed connections or the packet gateway for mobile connections. For European customers, due to legal and privacy reasons, the IP address is not shown.
IPTypeSTRINGNULLABLEThe type of the device's public IP address, such as IPV4 Only or IPV6 Only.

Device and player

Field name Type Mode Description
DeviceOSSTRINGNULLABLEThe operating system of the device.
DeviceOSVersionSTRINGNULLABLEThe version of the operating system used by the device.
DeviceOSFamilySTRINGNULLABLEThe name of the operating system group, such as PlayStation for PlayStation 3 and PlayStation 4, or Windows for Windows 10 and Windows XP.
DeviceHardwareTypeSTRINGNULLABLEThe type of your device hardware, such as set top box, mobile phone, tablet, and TV.
DeviceManufactureSTRINGNULLABLEThe manufacturer of the device from which the content was watched, such as Google, Roku, Huawei, and Apple.
DeviceMarketingNameSTRINGNULLABLEMarketing name of the device from which the content was watched, such as Google Chromecast, Huawei P20, and Apple iPhone 12 Pro.
DeviceNameSTRINGNULLABLEName of the device from which the content was watched, such as Android phone, Apple iPhone, and Chromecast.
DeviceModelSTRINGNULLABLEModel of the device, such as iPad Pro 11-inch (2nd generation), EML-L29.
DeviceVendorSTRINGNULLABLEVendor of the device.
BrowserSTRINGNULLABLEThe browser used by the viewer's device. "Non-Browser Apps" is shown if the video stream was viewed on a mobile app or a connected TV.
BrowserVersionSTRINGNULLABLEThe browser version of the device on which the content was watched.
PlayerFrameworkNameSTRINGNULLABLEThe name of the player framework used for video playback, for example, AVFoundation, NexPlayer, and HTML5.
PlayerFrameworkVersionSTRINGNULLABLEThe version of the framework used for video playback.
ConnectionTypeSTRINGNULLABLEThe type of network connection used to consume content, for example, mobile, wired, and wireless.

Experience and engagement metrics

Field name Type Mode Description
StartupTimeINTEGERNULLABLEThe time in milliseconds between the start of the Conviva monitoring and the first-played video frame. StartupTime excludes pre-roll ad time. A value of -1 indicates an unsuccessful play (no startup time). A value of -3 indicates the session connected, but the client did not send the necessary information to determine when the video began playing.
PlayingTimeINTEGERNULLABLEThe amount of time in milliseconds when a player is actively displaying video content during a session. PlayingTime excludes rebuffering time.
ReBufferingTimeINTEGERNULLABLEThe time between the video stalling during playback and the viewer waiting for the video to resume playing.
InterruptsINTEGERNULLABLEThe number of times the session was interrupted for rebuffering. If a pause or other viewer action caused buffering, that buffering is counted as an interrupt. A viewer pausing and resuming a session without any buffering is not counted as an interrupt.
AverageBitRateINTEGERNULLABLEAverage bitrate in kbps at which content was delivered during the session. The ability to determine bitrate depends on the player integration. Not all players can deliver bitrate information.
AvgAverageBitRateINTEGERNULLABLEThe average bitrate (in kilobytes per second) across the lifetime sessions as derived from the average bandwidth field of the manifest file. This value represents the time-weighted average bitrates played by the player.
NumBitrateSwitchesINTEGERNULLABLEThe number of the bitrate switches that occurred during the lifetime session. A bitrate switch occurs whenever a change in bitrate is detected.
StartupErrorSMALLINTNULLABLEIf value = true, the video failed to play and there was a startup error (see the error list). If value = false, the video played and there was no startup error.
PauseTimeINTEGERNULLABLETotal pause time in milliseconds for a session.
PausedRatioFLOATNULLABLEThe paused time as a ratio of the total playing time, including rebuffering and pauses.

Rebuffering and playback detail

Field name Type Mode Description
ConnectionInducedRebufferingTimeINTEGERNULLABLEThe non-seek rebuffering time in milliseconds.
CIRRInterruptCountINTEGERNULLABLEThe number of plays with interrupts caused by connection induced rebuffering.
CIRRelatedExitSMALLINTNULLABLEA user initiated exit that occurred either during connection induced rebuffering (non-seek rebuffering) or within 5 seconds of connection induced rebuffering before the session end.
VideoRestartTimeINTEGERNULLABLEThe total time between the user's seek complete and the video replay. VideoRestartTime in milliseconds is the sum of all such occurrences for the entire session.
RejoinedCountINTEGERNULLABLENumber of times the video rejoined after a user seek.
MicroPlayingTimeINTEGERNULLABLEThe total time in milliseconds that a session spent in continuous play time that lasted less than 200 milliseconds.
MicroPlayingInterruptionsINTEGERNULLABLEThe total number of times a session spent in continuous play time that lasted less than 200 milliseconds. Sometimes the player reports false play duration; this time is excluded from the Playing Time.
MicroBufferingTimeINTEGERNULLABLEThe total time in milliseconds that a session spent in continuous buffering that is less than 200 milliseconds. Micro buffering can result in jittering during video playback and is not excluded from the session's buffering.
MicroBufferingInterruptionsINTEGERNULLABLEThe total number of times a session spent in continuous buffering that lasted less than 200 milliseconds. There can be jittering in the video playback when micro buffering occurs, and it is not excluded from the session's buffering.
LongRebufferingTimeINTEGERNULLABLEThe total time in milliseconds that a session spent in continuous buffering that lasted more than 90 seconds. Long buffering can occur because a player is stuck in a buffering state. Long rebuffering is excluded from rebuffering time.
LongRebufferingInterruptionsINTEGERNULLABLEThe total number of times a session spent in continuous buffering that lasted more than 90 seconds. Long buffering can occur because a player is stuck in a buffering state. Long rebuffering is excluded from rebuffering time.

Failures and error lists

Field name Type Mode Description
ErrorList[VARCHAR(1024)/each]REPEATEDA list of fatal errors that occurred during this session, separated by "&". A session Startup Time of -1 and Playing Time of 0 with no error list indicates an Exit Before Video Start (EBVS) occurred. For CSV output the value is in String format. For Parquet the value is in array<string> format.
VPFSMALLINTNULLABLEVideo Playback Failures (VPF) occurs when a fatal error causes a video playback to fail. The field is set to TRUE if the session started successfully but ended with a fatal error.
VPFErrorListRECORDREPEATEDVideo Playback Failure Error list contains errors (including custom errors) that caused the playback to fail. For CSV output the value is in String format. For Parquet the value is in array<string> format.
VSFBusinessBOOLEANNULLABLEVideo Start Failures (VSF) Business measures whether the Attempts got terminated during video startup before the first video frame was played and a fatal error was reported due to a business logic issue, such as usage limits.
VSFBusinessErrorListRECORDREPEATEDVideo Start Failures (VSF) Business Error list contains errors (including custom errors) that caused the video start to fail due to a business logic issue. For CSV output the value is in String format. For Parquet the value is in array<string> format.
VSFTechnicalBOOLEANNULLABLEVideo Start Failures (VSF) Technical measures whether the Attempts got terminated during video startup before the first video frame was played and a fatal error was reported due to a technical logic issue, such as prolonged buffering.
VSFTechnicalErrorListRECORDREPEATEDVideo Start Failures (VSF) Technical Error list contains errors (including custom errors) that caused the video start to fail due to a technical logic issue. For CSV output the value is in String format. For Parquet the value is in array<string> format.
VPFBusinessSMALLINTNULLABLEVideo Playback Failures (VPF) Business measures how often Attempts terminated during video playback and a fatal error was reported due to a business logic issue, such as usage limits.
VPFBusinessErrorListRECORDREPEATEDVideo Playback Failures (VPF) Business Error list contains errors (including custom errors) that caused the video playback to fail due to a business logic issue. For CSV output the value is in String format. For Parquet the value is in array<string> format.
VPFTechnicalBOOLEANNULLABLEVideo Playback Failures (VPF) Technical measures whether the Attempts got terminated during video playback and a fatal error was reported due to a technical logic issue, such as prolonged buffering.
VPFTechnicalErrorListRECORDREPEATEDVideo Playback Failures (VPF) Technical Error list contains errors (including custom errors) that caused the video playback to fail due to a technical logic issue. For CSV output the value is in String format. For Parquet the value is in array<string> format.

Ad-related fields

Field name Type Mode Description
ExitDuringPreRollSMALLINTNULLABLEA started session exited after a pre-roll ad break start was reported and before the pre-roll ad break end was reported. The session never reported the 'play' state.
AdRelatedRebufferingINTEGERNULLABLERebuffering duration in milliseconds which started up to 60 seconds after an ad.
RebufferingDuringAdsINTEGERNULLABLERebuffering duration in milliseconds happening during the ad playback, using main video session playback.

CDN and Precision decision

Field name Type Mode Description
CDNVARCHAR(256)NULLABLEThe CDN associated with the streaming session.
LastCDNEdgeServerSTRINGNULLABLEThe IP address of the CDN Edge Server.
LastCDNGroupIDSTRINGNULLABLEThe region or pop identifier of the CDN Edge Server.
DecisionResourceSTRINGNULLABLEThe internal resource returned to Precision.
DecisionBitrateINTEGERNULLABLEThe bitrate associated with the resource returned to Precision. A value of 0 indicates the bitrate is not known.
DecisionResourceIdSTRINGNULLABLEThe internal Conviva id for the component returning the result to Conviva Precision.
DecisionResourceResolvedSTRINGNULLABLEThe resource being returned by Conviva Precision, for example Akamai Live Content Node.
pCoreCDNSTRINGNULLABLEThe CDN being returned by Conviva Precision, for example AKAMAI.

Custom metadata

Field name Type Mode Description
SessionTagsRECORD[VARCHAR(64)/each key, VARCHAR(256)/each Value]REPEATEDThe custom player metadata that is defined during your Conviva integration. Session tags reflect your specific business needs and player information. For CSV output the value is in String format, where key-value pairs are delimited by an ampersand (&) and key and value are separated by an equals sign (=). For example, c3.cmp.0._id=da&c3.cmp.0._ver=1&c3.cluster.name=production. For Parquet format, array<struct<_field1:string,value:string>>.

Next: follow Build your first pipeline, or see how these fields feed the metric SQL in Content Summary.