Skip to main content

Event Tracking

Event Tracking

Accurate event tracking is mandatory. It is how we ensure that rights holders are paid correctly for the use of their music. It also allows us to provide music engagement metrics in Clips Studio. You must send an event for each of the actions listed below.

Standard Event Parameters

All event tracking requests should include clientId and a timestamp. For detailed information about clientId requirements and best practices, see Client ID.

App Events

App Open Fired when a user opens your application.

POST /app-start

Request Body:

{  
"clientId": "YOUR_CLIENT_ID",
"timestamp": "2024-10-26T10:00:00Z",
"platform": "ios"
}

Response:

{
"appId": 12345
}

App Close

When a user closes your application.

POST /app-close

Request Body:

{  
"clientId": "YOUR_CLIENT_ID",
"timestamp": "2024-10-26T10:05:00Z"
}

Response:

No content provided in the response (204).

Play

When a music clip begins playback. This includes previews and plays of UGC containing a clip.

important

If content automatically loops playback without explicit user interaction, each subsequent looped play must trigger its own request to the play endpoint.

POST /play

Request Body:

{  
"clientId": "YOUR_CLIENT_ID",
"timestamp": "2024-10-26T10:01:00Z",
"clipId": "123",
"method": "Stream",
"preview": "false",
"offline": "false"
}

Method Values:

  • "Stream" - Music playback isn't fixed (synced or muxed) into a single file with other media.
  • "Sync" - Synchronized with video content

Response:

No content provided in the response (204).

Track Play

When a full-length track begins playback. This happens while a user is auditioning sections of the full track for custom clipping.

POST /track-play

Request Body:

{  
"clientId": "YOUR_CLIENT_ID",
"timestamp": "2024-10-26T10:01:00Z", // Optional
"trackId": 789
}

Response:

No content provided in the response (204).

Add

When the user confirms selection of a clip for their content.

POST /add

Request Body:

{  
"clientId": "YOUR_CLIENT_ID",
"timestamp": "2024-10-26T10:02:00Z",
"clipId": 123,
"method": "Stream"
}

Method Values:

  • "Stream" - Music playback isn't fixed (synced or muxed) into a single file with other media.
  • "Sync" - Synchronized with video content

Response:

No content provided in the response (204).

Share

When a user shares their content containing a clip to an approved 3rd party platform (ex: social media).

POST /share

Request Body:

{  
"clientId": "YOUR_CLIENT_ID",
"timestamp": "2024-10-26T10:03:00Z",
"clipId": 123,
"platform": "instagram",
"shareUri": "app://content/abc"
}

Response:

No content provided in the response (204).

Download

When a user downloads the content to their device.

POST /download

Request Body:

{
"clientId": "client123",
"clipId": 619462,
"appId": 1,
"credentialId": 1,
"country": "US",
"timestamp": "2025-02-25T00:00:00Z"
}

Response:

No content provided in the response (204).