Custom Reporting

Custom Reporting is a reporting tool which can break down your data into the following parts:
  • Filters: define what part of the data is of interest,
  • Dimensions: define how to break down the data in the report output,
  • Metrics: define the data points that you want to display in the report. Each metric is displayed in a separate column in the final report.
Custom Reporting is used to:
  • Define reports on unaggregated data and pull the report
  • Define complex reports over multiple dimensions and metrics
  • Share static or refreshable reports directly with third parties
  • Retrieve and export reports
When should you use Custom Reporting?
  • For advanced invoicing and reconciliation reporting
  • For monthly financial revenue reports
  • For historical reporting
  • For sharing static or refreshable reports with third parties, for example for billing or progress monitoring purposes
When should you not use Custom Reporting?
  • When analysing and troubleshooting programmatic activity, since bid level granularity from SSP deals and marketplaces is only available in Metamarkets.
  • When you want to monitor the progress of your campaigns, goals and ads in near real-time. For this purpose, the Campaign Management Query APIs (campaign, goal and ad) are available.
Typical use cases
  • Getting advanced reports across all sales channels
  • Reporting on error related events
  • Combining many dimensions and filters
  • Reporting where no predefined report definitions exist
  • Sharing a refreshable report on specific campaigns with relevant advertiser, so they can monitor on their own without needing access to your Pulse account or time from one of your operators

Data Availability

Tracking data is received continuously in the Pulse backend, and is sorted into hour-long buckets according to the tracking request's timestamp from when the request was triggered on the end user's device. Because this data may be received a lot later than the time it was sent, we employ two processing windows:
  • one that processes data from the bucket with timestamps from three hours to two hours ago, and
  • one that simultaneously processes data from the bucket with timestamps from 25 hours to 24 hours ago.

One processing run takes about 30 minutes, and with the double processing of each bucket, a 99,99% of data completeness level is reached in most circumstances. However, if significant amounts of data is received after 24 hours, or inconsistencies are detected, the data can be reprocessed manually.

Limitations for Custom Reporting

  • Reports return maximum 100000 rows. To make sure your report is not incomplete due to reaching the maximum number of rows, see these tips.
  • Only 200 reports are loaded and visible in the user interface.
  • You can define maximum eight grouping dimensions for a report.
  • You are recommended to filter on maximum ten tags in a report. Although more tags are allowed, we cannot guarantee a successful run of the report.
  • You cannot combine breaking down the data based on audience segments and tags in the same report, because the report result cardinality could be too high.
  • You can run maximum two reports at the same time. If there are two reports waiting to complete in Custom Reporting, you can still create new reports but their status is set to "Queued".
    • When one of the currently running reports is done (ready, failed, or cancelled), the first report in queue is run.
    • Queued reports are ordered based on creation or refresh date and time, so the report with the oldest creation or refresh date and time is the first one in queue, and this order cannot be changed.
    • You can queue maximum 10 reports. Refreshing a report also counts towards your queue.
    • You can delete or cancel queued reports.
  • If the refreshable reports functionality is enabled for your account, and a report was created with a future end date, then it can be refreshed at the earliest six hours after the last time it was refreshed or created for the first time successfully. Also, you are only able to refresh the report results up until three days after that future date has passed.
  • The query for a report runs for maximum 1 hour. Queries that take longer are cancelled, and the report's status is set to 'Failed'.
  • Data for Custom Reporting is only available for the past 25 months. Reports where at least a part of the selected time span falls outside the data retention period, fail to run.

    In addition,

    • audience data is only available from December 1, 2017
    • content ID data is only available from March 7, 2018
    • meaningful flag data is only available from November 19, 2018
  • The time span of a report can be maximum twelve months. Reports requested over a longer period fail to run.
  • Only the described dimensions, metrics, and filters in this document set are available in Custom Reporting.
  • Revenue metrics are visible to all users of your Pulse account when using Custom Reporting, even if a particular user cannot see revenue metrics in the Pulse User Interface.
  • The Custom Reporting tool calculates the approximate count of unique inventory and unique impressions metrics by using the HyperLogLog algorithm, which provides deterministic results when running reports for the same time range, filters, and dimensions. This way your reports run faster, and finish, which cannot be guaranteed when using distinct counts. The expected difference from distinct counts is only 2 to 3%. For more information, see Using HLL++ to speed up count-distinct in massive datasets.
  • Lookup values for audience segments have no history. As a result, a Custom Report may break, when the segment mapping in the Pulse backend is updated or is missing segments. Updated segment mappings only make the segment IDs resolve to a different name. Missing segment mappings resolve to 'undefined' in the reports.
  • Error tracking reports only work if error tracking is enabled for your account, and you have an integration with at least one of the following SDKs:
    • HTML5 SDK (Core and Pulse) or any of its derivatives (HTML5 Ad Player and Plugins) for version or higher
    • iOS Pulse SDK version or higher
    • Android Pulse SDK version or higher

    No error tracking information is available for direct VAST or VMAP integrations.

  • There is a daily quota of 300 reports you can run using the Custom Reporting UI and API combined. For more information, contact your Account Manager.