Server to Server

The Mapp DMP supports the capability to accept any custom data that is sent in a JSON format through the external_data parameter (&data=). There are two ways to send us the data, by using a GET request and also by using POST request. In cases of very large requests (i.e. more than 2k characters), POST request is preferred. The correct response is 200, or 302. If you get 40x, it means that one of the parameters is not correct. Consider the request template and the parameter description as a basis.

Contents of the Table

Use Cases

When data cannot be captured by means of the DMP pixels:

  • Enrich the DMP pixel data by importing customer specific data into the DMP which may be stored in an external data source like a CRM system or an internal data warehouse. The custom data attributes could be unified with user behaviour from the website or online advertising collected through the DMP pixels in order to create advanced Custom Audiences.


mThis should contain the static customer_id relevant to your DMP account.
idThis should contain the relevant pixel_id. You can get it by creating a new pixel in the DMP.
tThis should contain the endpoint (type) to return empty JavaScript or a 1x1 transparent GIF. Two values are possible: js or gif (default = js).
dataThis should contain the URL encoded JSON string. Note that there is no limit to complexity of the JSON object since it can contain nested objects and arrays.
If you are using a POST request, you can omit data parameter and send the JSON string (not URL encoded) as a body of the request.

The parameters as stated in the template can be considered as required parameters. In addition there are many other optional parameters that can be populated:

Optional Parameters
&_check=1This disables cookie syncing
&_nr=1This disables a check for cookie stickyness
&A full list of available parameters can be found here


Please find below a specific example of custom data in JSON format and the corresponding GET request that will be send to the DMP.

JSON Object
	"Timestamp": 1456213019,
	"UserId": 4694200,
	"FirstName": "John",
	"LastName": "Doe",
	"Gender": "1",
	"Favorites": ["Football", "Tennis", "Poker"],
	"TotalBets": 56,
	"TotalDeposits": 14,
	"CustomerLifetimeValue": 7.0
URL Encoded JSON Object
Assembled URL

Tips & Tricks

Since the example only contains custom data for one specific customer, multiple requests needs to be send. In order to make this process as efficient as possible there are some tips and tricks applicable on both the data format and data upload.

Data Format

  • Use integers and doubles rather than strings.
  • Use unix timestamp for date and time elements.
  • Ignore empty attributes.

Data Upload

  • Upload in parallel, using http keep alive (re-using the open TCP connections).

  • Make sure to not cache DNS so you can send data to all of our APIs.

  • Do not use https for uploading.


UUID Parameter

The custom data request can also contain the &uuid parameter in case a customer wants to do the mapping on their end. This way you can send the relevant Mapp User ID along with the enriched data and the custom data attributes becomes immediately available for Audience Building purposes.



Once the implementation and the data upload are completed, the custom attributes can be enabled via the External Attributes API service for audience building purposes in the DMP interface.