Skip to main content

What is the Cross-Media Measurement API?

The Cross-Media Measurement API is a comprehensive gRPC-based API that enables privacy-preserving measurement and audience analytics across multiple data providers. Built on Protocol Buffers, this API allows measurement consumers (such as advertisers and agencies) to compute reach, frequency, impressions, and other metrics without accessing raw user-level data.
The API implements multi-party computation (MPC) protocols and differential privacy techniques to ensure that individual user data remains private throughout the measurement process.

Key Capabilities

The Cross-Media Measurement API provides a complete ecosystem for privacy-preserving measurements:

Privacy-First Measurements

Compute reach, frequency, impressions, and watch duration metrics using multi-party computation without exposing raw user data.

Cross-Provider Analytics

Measure campaigns across multiple data providers (publishers, panel providers) in a unified, privacy-preserving way.

Differential Privacy

Built-in differential privacy parameters protect individual user privacy while maintaining statistical accuracy.

Certificate-Based Security

X.509 certificate-based authentication and digital signatures ensure secure, verifiable communication.

Core Use Cases

Measurement Consumer Workflows

As a Measurement Consumer (advertiser or agency), you can:
  • Create measurements that compute reach and frequency across multiple publishers
  • Track campaign performance without accessing individual user data
  • Manage event groups to organize and categorize campaign events
  • Configure differential privacy parameters to balance privacy and accuracy

Data Provider Workflows

As a Data Provider (publisher or panel provider), you can:
  • Fulfill requisitions by providing encrypted data for measurement computations
  • Manage event groups representing campaigns or content in your system
  • Control data availability windows for measurement participation
  • Participate in panel matching to enable cross-provider analytics

Model Provider Workflows

As a Model Provider, you can:
  • Manage VID (Virtual ID) models that enable user matching across providers
  • Deploy model releases and control rollouts across the ecosystem
  • Monitor model performance and handle outages

Architecture Overview

The Cross-Media Measurement API follows a resource-oriented design based on Google API Improvement Proposals (AIPs), with these key differences:
This API is gRPC-only and does not provide HTTP/REST endpoints. All communication uses Protocol Buffers over gRPC.

Key Components

  1. Kingdom - The central coordination service that manages resources and orchestrates measurements
  2. Duchies - Independent computation nodes that perform multi-party computation without seeing raw data
  3. Data Providers (EDPs) - Event Data Providers that contribute encrypted event data
  4. Measurement Consumers - Entities that request and receive measurement results

Privacy Guarantees

The API implements multiple layers of privacy protection:

Multi-Party Computation (MPC)

Measurements are computed using MPC protocols including:
  • Liquid Legions v2 - For reach and frequency measurements
  • Honest Majority Share Shuffle (HMSS) - For efficient computation with honest majority assumptions
  • Deterministic protocols - For direct computation scenarios
MPC ensures that no single party (including Duchies) can see raw user-level data. Each Duchy only processes encrypted shares of the data.

Differential Privacy

All measurements apply differential privacy to add calibrated noise to results:
message DifferentialPrivacyParams {
  double epsilon = 1;  // Privacy budget
  double delta = 2;    // Failure probability
}
This prevents inference attacks even when multiple measurements are combined.

Certificate-Based Trust

X.509 certificates establish trust and enable:
  • Digital signatures on measurement specifications
  • Encryption of sensitive data with public keys
  • Verification that data comes from authorized parties

API Design Principles

Resource-Oriented

The API centers around well-defined resources with clear relationships:
  • MeasurementConsumer - Consumer of measurement results
  • DataProvider - Provider of event data
  • Measurement - A requested computation
  • Requisition - A request for data from a DataProvider
  • EventGroup - A collection of related events
  • Certificate - An X.509 certificate for authentication

Immutable Specifications

Key specifications like MeasurementSpec and RequisitionSpec are immutable and signed to ensure integrity throughout the measurement lifecycle.

Structured Filters

Instead of using the AIP-160 filtering language, the API uses structured filter messages:
message Filter {
  repeated State states = 1;
  google.protobuf.Timestamp updated_after = 2;
  google.protobuf.Timestamp updated_before = 3;
}

Getting Started

1

Understand Core Concepts

Read the Concepts page to learn about the resource model, measurements, and privacy guarantees.
2

Set Up Authentication

Follow the Authentication Guide to create an account and obtain certificates.
3

Create Your First Measurement

Use the Quickstart to make your first API call and create a measurement.
4

Explore the API

Browse the API Reference to discover all available services and methods.

Community and Support

The Cross-Media Measurement API is developed by the World Federation of Advertisers as part of the Halo project.

GitHub Repository

View source code, file issues, and contribute to the project.

API Reference

Comprehensive reference for all services, resources, and methods.

Next Steps

Ready to start building? Here are some recommended paths:

Build docs developers (and LLMs) love