Release Notes

Version 1.4.1 (2025-08-01)

Bug Fixes

  • The /sessions/live_users endpoint had a problem in which the caching was being maintained for 60 minutes as a default. The fix includes a cache now that uses a 30 seconds cache with a 15 seconds revalidation strategy. This should be enough for querying live users.


Version 1.4.0 (2025-07-29)

New Features

  • New /sessions/live_users endpoint: Added real-time live user tracking functionality that provides domain-based analytics of currently active users:

    • Real-time activity tracking: Monitors user activity within a configurable time window (1-720 minutes)

    • Domain-based grouping: Groups live users by domain to understand traffic distribution

    • Session validation: Only counts sessions from the last 12 hours with recent activity

    • Bot filtering: Automatically excludes bot traffic for accurate user counts

    • Ordered results: Returns domains sorted by live user count in descending order

Example Usage

# Get live users from the last 60 minutes (default)
GET /sessions/live_users?player_id=64a5c8072e6fd10009828db2

# Get live users from the last 30 minutes
GET /sessions/live_users?player_id=64a5c8072e6fd10009828db2&minutes=30

# Get live users from the last 2 hours
GET /sessions/live_users?player_id=64a5c8072e6fd10009828db2&minutes=120

Parameter Details

  • player_id (required): The ID of the player to monitor for live user activity

  • minutes (optional): Time window in minutes to consider recent activity. Must be between 1 and 720. Defaults to 60 minutes

Response Format

Understanding Live User Tracking

The endpoint works by:

  1. Session Filtering: Identifies sessions from the last 12 hours that are not from bots

  2. Activity Validation: Checks for recent activity (times records) within the specified minutes window

  3. Domain Grouping: Groups active sessions by domain

  4. Count Aggregation: Counts unique sessions per domain to determine live user count

  5. Result Ordering: Returns domains sorted by live user count (highest first)

Error Handling

  • 400 Bad Request: Returns detailed error messages for invalid parameters:

    • Invalid player_id format

    • Minutes outside valid range (1-720)

  • 401 Unauthorized: Maintains existing authentication requirements

Use Cases

This endpoint enables you to:

  • Real-time monitoring: Track current user engagement across different domains

  • Traffic analysis: Understand which domains are driving the most active users

  • Performance optimization: Identify high-traffic domains for resource allocation

  • Marketing insights: Monitor campaign effectiveness in real-time

  • Operational decisions: Make immediate decisions based on current user activity

  • Alert systems: Build monitoring systems for unusual traffic patterns


Version 1.3.0 (2025-07-18)

New Features

  • Enhanced /players/list endpoint with date filtering: Added optional query parameters for better player filtering capabilities:

    • Date range filtering: Added start_date and end_date parameters to filter players by creation date

    • Timezone support: Added timezone parameter for accurate date filtering across different time zones

    • Parameter validation: Added comprehensive validation for date parameters to ensure proper datetime format

    • Backward compatibility: All new parameters are optional, ensuring existing integrations continue to work unchanged

Key Features

The enhanced /players/list endpoint now supports:

  • Date filtering: Filter players created within a specific date range using start_date and end_date parameters

  • Timezone awareness: Specify timezone for accurate date calculations (defaults to UTC if not provided)

Example Usage

Parameter Details

  • start_date (optional): Start date of the period for player filtering. Uses >= comparison. Supports formats like "2023-10-26T18:24:05.000+00:00" or "2023-10-26 18:24:05 UTC"

  • end_date (optional): End date of the period for player filtering. Uses <= comparison. Same date formats as start_date

  • timezone (optional): Timezone to use for date filtering. Defaults to 'Etc/UCT' if not specified

Response Format

The response format remains unchanged, ensuring backward compatibility:

Use Cases

This enhancement enables you to:

  • Time-based analytics: Filter players created within specific campaigns or time periods

  • Reporting: Generate reports for players created during specific business periods

  • Auditing: Track player creation patterns over time

  • Data management: Efficiently query players based on creation timestamps


Version 1.2.0 (2025-06-27)

New Features

  • New /sessions/stats_by_day endpoint: Added comprehensive daily session analytics that provides detailed statistics broken down by day within a specified date range.

Key Features

The /sessions/stats_by_day endpoint provides:

  • Daily session metrics: Total views, starts, finishes, and clicks aggregated by day

  • Unique user tracking: Separate counts for unique sessions and unique devices across all metrics

  • Engagement analysis: Engagement rate calculations based on average watch time

  • Pitch threshold analysis: Tracks users who watched above/below the pitch time threshold

  • Conversion tracking: Daily conversion counts with amounts in multiple currencies (USD, BRL, EUR)

  • Play rate calculation: Percentage of viewers who started playing after viewing

  • Date range filtering: Flexible date filtering with timezone support

Example Request

Example Response

Understanding the Daily Metrics

The /sessions/stats_by_day endpoint provides detailed daily breakdowns of:

  • Session Metrics: Comprehensive view, start, finish, and click counts for each day

  • Unique Tracking: Separate unique counts by session and device to understand user behavior

  • Engagement Analysis: Daily engagement rates showing how much of the video users are watching

  • Pitch Performance: Daily analysis of how many users watch beyond your pitch threshold

  • Conversion Tracking: Complete conversion data with monetary amounts across multiple currencies

  • Trend Analysis: Day-by-day comparison to identify patterns and trends

Use Cases

This endpoint enables you to:

  • Track daily performance trends: Monitor how engagement varies day by day

  • Identify peak performance days: Find which days generate the most engagement and conversions

  • Analyze seasonal patterns: Understand how user behavior changes over time

  • Campaign performance tracking: Measure the daily impact of marketing campaigns

  • Content optimization: Identify which days have higher engagement rates for content planning

  • Conversion analysis: Track daily conversion patterns and revenue trends

  • User behavior insights: Understand viewing patterns across different days of the week or month


Version 1.1.0 (2025-06-25)

New Features

  • Enhanced /custom_metrics/list endpoint with significant improvements:

    • New POST method: Added a POST endpoint at /custom_metrics/list for better parameter handling

    • Engagement rate calculation: Now calculates and returns engagement rates for each custom metric

    • Date range filtering: Added optional start_date and end_date parameters to filter metrics by time period

    • Timezone support: Added timezone parameter for accurate date filtering across different time zones

    • Enhanced user analytics: Returns total_users, users_above, and engagement_rate for each custom metric

Migration Path

The original GET endpoint /custom_metrics/{player_id}/list is now deprecated and will be removed on July 25, 2025. Please migrate to the new POST endpoint.

Example Request (New POST Method)

Example Response (Enhanced with Engagement Data)

Understanding the New Metrics

The enhanced endpoint now provides detailed engagement analytics:

  • engagement_rate: Percentage of users who watched beyond the custom metric timestamp

  • total_users: Total number of users who watched the video in the specified time period

  • users_above: Number of users who watched beyond this custom metric's timestamp

  • Date filtering: When start_date and end_date are provided, analytics are calculated only for sessions within that period

  • Timezone awareness: Dates are properly handled according to the specified timezone

Use Cases

This enhancement enables you to:

  • Analyze retention over time: Compare engagement rates for the same custom metrics across different time periods

  • Track seasonal patterns: Use date filtering to understand how user engagement varies by season or campaign periods

  • Calculate precise retention rates: Get exact percentages of users reaching each custom milestone

  • Generate time-based reports: Create periodic reports showing engagement trends at key video moments

  • A/B testing: Compare engagement rates for different video versions or marketing campaigns

Breaking Changes

  • Deprecation Notice: The GET endpoint /custom_metrics/{player_id}/list is deprecated and will be removed on July 25, 2025

  • Migration Required: Applications using the GET endpoint should migrate to the new POST endpoint by the deprecation date


Version 1.0.9 (2025-06-24)

New Features

  • Added new /sessions/stats endpoint that provides comprehensive session statistics for a specific player:

    • Returns detailed session metrics including total views, starts, finishes, and clicks

    • Provides unique session and device counts for each metric type

    • Calculates engagement rates and conversion metrics

    • Includes pitch time analysis showing users who watched above/below pitch threshold

    • Returns conversion data with amounts in multiple currencies (USD, BRL, EUR)

    • Supports date range filtering and timezone configuration

Example Request

Example Response

Understanding the Metrics

The /sessions/stats endpoint provides several key metrics:

  • View Metrics: Total views and unique views by session and device

  • Engagement Metrics: Start/finish rates and overall engagement percentages

  • Pitch Analysis: Shows how many users watched beyond the configured pitch time threshold

  • Conversion Data: Complete conversion metrics with monetary amounts in multiple currencies

  • Play Rate: Percentage of viewers who started playing the video after viewing

This endpoint is particularly useful for:

  • Getting a comprehensive overview of player performance

  • Analyzing user engagement patterns

  • Understanding conversion effectiveness

  • Tracking retention at the pitch threshold

  • Comparing performance across different time periods


Version 1.0.8 (2025-06-17)

Improvements

  • Fixed an issue where sometimes during the fetch of the players listing (/players/list) some values could duplicate


Version 1.0.7 (2025-06-05)

Improvements

  • Enhanced /players/list endpoint with additional player information:

    • Added pitch_time field to show the player's pitch time configuration

    • Added duration field to display the associated video's duration

    • Maintains backward compatibility with existing implementations

Example Response


Version 1.0.6 (2025-05-30)

New Features

  • Added new /custom_metrics/{player_id}/list endpoint that provides a list of all custom metrics for a specific player:

    • Returns custom metric information including ID, name, time, and sequential number

    • Allows tracking specific video time points for retention analysis

    • Enables calculation of user engagement percentages at specific video timestamps

Example Response

Understanding Custom Metrics and User Engagement

The custom metrics endpoint works in conjunction with the /times/user_engagement endpoint to help calculate retention rates at specific video timestamps. Here's how to use them together:

  1. First, list your custom metrics for important video timestamps using the /custom_metrics/{player_id}/list endpoint

  2. Then, use the /times/user_engagement endpoint to get the number of users at each timestamp by providing:

    • player_id: The ID of your player

    • video_duration: Total duration of the video in seconds

    • start_date and end_date: The period you want to analyze

    • timezone: Your preferred timezone for date filtering

Example request to /times/user_engagement:

  1. The user engagement endpoint will return data showing how many users reached each second of the video

  2. You can then calculate retention by comparing the number of users at each custom metric timestamp against the total number of users

For example, if you have:

  • Total users: 100

  • Users at 30 seconds (First Key Point): 80

  • Users at 60 seconds (Second Key Point): 50

The retention rates would be:

  • First Key Point: 80% (80/100)

  • Second Key Point: 50% (50/100)

This combination allows you to:

  • Track user engagement at specific, meaningful points in your video

  • Calculate retention rates for custom-defined milestones

  • Analyze how many users are reaching your key video moments

  • Make data-driven decisions about video content and length


Version 1.0.5 (2025-05-28)

New Features

  • Added new /players/list endpoint that provides a list of all players belonging to the authenticated user's company:

    • Returns basic player information including ID, name, and creation date

    • Automatically filters players based on the authenticated user's company

    • Supports JSON response format

Example Response


Version 1.0.4 (2025-05-27)

New Features

  • Added new /events/leaderboard endpoint that provides player rankings based on video engagement metrics:

    • Supports multiple leaderboards with different player limits in a single request

    • Allows filtering by event types (started, finished, viewed, clicked, paused)

    • Includes metrics for total plays, unique plays by session, and unique plays by device

    • Supports date range filtering with optional end date

Example Request

Example Response


Version 1.0.3 (2025-05-15)

Improvements

  • Improved performance on the following endpoints:

    • /events/total_by_company_day

Detailed explanation

Sometimes when performing a request against the endpoint users were reaching out of resource without the request actually being that heavy, this was due to the way the endpoint was aggregating data, requests should be normalized and use the proper amount of resource.


Version 1.0.2 (2025-05-15)

Improvements

  • Enhanced error handling for exceptions when the request is using more resources than it's allowed based on the company plan:

    • Added explicit handling for AUTHENTICATION_FAILED

    • Added explicit handling for MEMORY_LIMIT_EXCEEDED

Examples of the Error Responses for 401 - Non Authorized

When a company doesn't have access to the API:

When a query exceeds the resource limits for the company plan tier:


Version 1.0.1 (2025-05-15)

Bug Fixes

  • Fixed timezone handling in the /sessions/stats_by_field_by_day endpoint to ensure consistent date reporting across different timezones. This affects how dates are calculated in the following metrics:

    • Session statistics by day

    • Conversion rates

    • Event timestamps

    • Date-based aggregations

Example of the Fix

Before this fix, when using timezone "America/Sao_Paulo" (GMT-3), events that occurred on the same day could be split across two different dates due to timezone conversion issues. For example:

Now, all events from the same day are properly grouped together, regardless of the timezone specified in the request:


Note: This version includes fixes and improvements to existing functionality without introducing new features or breaking changes.

Last updated