Conversion event data examples

This page provides examples to illustrate the POST /providerapi/offlineconversion request syntax and help you understand how to form valid conversion requests for general use cases. For example, you can see how to include one or more user IDs per object in the Items array, along with optional event metadata such as event names, values, location, and custom properties.

Here's what you need to know about these examples and additional resources:

IMPORTANT: For full upload requirements, property descriptions, accepted user ID formats, and syntax rules, see POST /providerapi/offlineconversion.

Single user ID per object

The following sections provide examples with different types of user IDs and event information in the Items array of a POST /providerapi/offlineconversion request. Each request includes the required data provider ID and a single user ID per object in the array.

Example 1: minimum required properties with two events

This example shows a POST /providerapi/offlineconversion request body with two conversion events using only the required fields. The first event uses an impression ID, which means no other ID is necessary for that item. The second event uses a TDID.

{
   "DataProviderId": "ABCdataprovider",
   "Items": [
      {
         "ImpressionID": "49gCBlwj-9d33-0927-s9g7-sd7nF3D248d5", 
         "TrackingTagId": "cjsns64",
         "TimestampUtc": "2025-03-23T22:11:13.2311903Z"
      },
      {
         "TDID": "df2df528-e032-4851-b7c6-99287c7d6bce",
         "TrackingTagId": "cjsns64",
         "TimestampUtc": "2025-03-23T22:11:13.3112903Z"
      }
   ]
}

Example 2: Events with additional metadata

This example shows how to include optional metadata like event name, conversion value, location, and custom properties in a POST /providerapi/offlineconversion request. These fields enrich the conversion signal but are not required, unless you are uploading merchant product catalog items.

{
   "DataProviderId": "ABCdataprovider",
   "Items": [
      {
         "RampID": "XY3001RNflf2z1F1N-gqJ_9JGLAalv56-4qkXKwgB1PGeH4ZM",
         "TrackingTagId": "f7siv21",
         "TimestampUtc": "2025-03-23T22:11:13.2311903Z",
         "ReferrerUrl": "https://www.example.com/",
         "ClientIPAddress": "198.51.100.7",          
         "EventName": "purchase",
         "Value": 587.00,
         "ValueCurrency": "USD",
         "Country": "United States",
         "Region": "New York",
         "NielsenDMA": "501",
         "City": "Bronx",
         "PostalCode": "10451",         
         "TD1": "Spring Promo",
         "OrderId": "22345678920123456789"
      },
      {
         "TDID": "df2df528-e032-4851-b7c6-99287c7d6bce",
         "TrackingTagId": "f7siv21",
         "TimestampUtc": "2025-03-23T22:11:13.3112903Z",
         "EventName": "sitevisit"
      }
   ]
}

Example 3: Events with privacy settings

This example demonstrates how to include optional privacy settings properties, such as General Data Protection Regulation (GDPR) applicability and consent strings, in a POST /providerapi/offlineconversion request.

{
   "DataProviderId": "ABCdataprovider",
   "Items": [
      {
         "EUID":"48MjlfIUZpOKNAm9nod7/jCLAXUYsnE1tpVHQSDS0uo=",
         "TrackingTagId": "cjsls94",
         "TimestampUtc": "2025-03-23T22:09:27.9843903Z",
         "PrivacySettings": [
            {
               "privacy_type": "GDPR",
               "is_applicable": 1,
               "consent_string": "user consent sample string 123456"
            }
         ]
      },
      {
         "DAID": "a934b283-a381-4a0d-8a18-0368f9b19170",
         "TrackingTagId": "cjsls94",
         "TimestampUtc": "2025-03-23T22:09:27.9843903Z",
         "EventName": "viewitem"
      }
   ]
}

Multiple user IDs per object

The following sections provide examples that show how to pass multiple types of user IDs per object in the Items array of a POST /providerapi/offlineconversion request.

Example 1: Using the user ID array

This POST /providerapi/offlineconversion request body example shows how to send multiple types of user IDs in the UserIdArray property for each conversion event, alongside optional event metadata such as location, value, and order ID.

{
   "DataProviderId": "ABCdataprovider",
   "UserIdArrayMetadataFormat": ["type", "id"],
   "Items": [
      {
         "TrackingTagId": "bjsks98",
         "TimestampUtc": "2025-03-23T22:11:13.1341903Z",
         "UserIdArray": [
            [0, "9bfb80bf-995c-4215-9dc5-f3c82fcbda6a"], //TDID
            [0, "df2df528-e032-4851-b7c6-99287c7d6bce"], //TDID
            [1, "af867d6a-1a08-5cd3-8fe7-3f0cdd6ac741"], //DAID
            [2, "WjmpsHwlrRQSGt8Zt73+z/W83nZ0L659IWNmuBb7cDk="] //UID2
         ],
         "EventName": "purchase",
         "Value": 587.00,
         "ValueCurrency": "USD",
         "Country": "United States",
         "Region": "New York",
         "NielsenDMA": "501",
         "City": "Bronx",
         "PostalCode": "10451",          
         "TD1": "Spring Promo",
         "OrderId": "22345678920123456789"
      },
      {
         "TrackingTagId": "zmxqe30",
         "TimestampUtc": "2025-03-19T10:06:55",
         "UserIdArray": [
            [0, "123e4567-e89b-12d3-a456-426652340000"], //TDID
            [2, "48MjlfIUZpOKNAm9nod7/jCLAXUYsnE1tpVHQSDS0uo="] //UID2
         ],
         "EventName": "purchase",
         "Value": 32.98,
         "ValueCurrency": "USD",
         "Country": "United States",
         "Region": "OH"
      }
   ]
}

Example 2: Using individual IDs

This POST /providerapi/offlineconversion request body example shows how to include multiple user IDs directly within the conversion event object.

{
   "DataProviderId": "ABCdataprovider",
   "Items": [
      {
         "TrackingTagId": "cjsls94",
         "TimestampUtc": "2025-03-23T22:09:27.9843903Z",         
         "DAID": "a9342d1f-69f1-4bf8-bc2b-1f20eb451f21",
         "UID2": "WjmpsHwlrRQSGt8Zt73+z/W83nZ0L659IWNmuBb7cDk=",
         "EventName": "viewitem"
      }
   ]
}