mParticle provides an HTTP-based Pixel Service that can be used to collect data using a simple GET request.
This document assumes that you have already created a Web SDK Input. Please follow the instructions on our Web SDK Quickstart Guide to obtain a Web SDK API Key.
All requests to the pixel service must be made to the following url: https://pixels.mparticle.com/v1/{{web_api_key}}/Pixel
, followed by URL Encoded Query Parameters for event attributes. For example:
https://pixels.mparticle.com/v1/{{web_api_key}}/Pixel?ct={{timestampMs}}&dbg=true&n=Custom%20Pixel%20Event&dt=AppEvent&et=Unknown
To send data to the Pixel service, you can make requests via any HTTP client using your Web API Key access credentials.
async function sendPixel() {
const pixelServiceURL = `https://pixels.mparticle.com/v1/${apiKey}/Pixel`;
const currentTime = new Date().getTime();
const eventName = "My Custom Event";
const messageType: "AppEvent";
const eventType: "Navigation";
const queryParams = `n=${eventName}&dt=${messageType}&ct=${currentTime}&et={eventType}`;
try {
const response = await fetch(url + "?" + queryParams);
if (!response.ok) {
throw new Error(`Response status: ${response.status}`);
}
const json = await response.json();
console.log(json);
} catch (error) {
console.error(error.message);
}
}
<img
height="1"
width="1"
style="display:none"
src="https://pixels.mparticle.com/v1/{your-apikey-goes-here}/Pixel?n=My%20Page%20Viewdt=ScreenView&ct={current time stamp}&et=Navigation&dbg=true"
/>
The following attributes must be submitted as URI query parameters:
Attribute | Name | Required | Description |
---|---|---|---|
dt |
Event Type | yes | AppEvent for Custom Event or ScreenView for a Page View |
et |
Custom Event Type | no | The type of custom event based on our event list. Defaults to Unknown |
ct |
Current Time Timestamp | yes | Timestamp as Epoch (in milliseconds) |
n |
Event Name | no | Event Name as String |
attrs_k |
Event Attribute Keys | no | Comma Separated list of Custom Event Attribute Keys |
attrs_v |
Event Attribute Keys | no | Comma Separated list of Custom Event Attribute Values |
ua_k |
User Attribute Keys | no | Comma Separated list of User Attribute Keys |
ua_v |
User Attribute Values | no | Comma Separated list of User Attribute Values |
ui_t |
User Identity Type Keys | no | Comma Separated list of User Identity Keys |
ui_v |
User Identity Values | no | Comma Separated list of User Identity Values |
flags_k |
Custom Flag Keys | no | Comma Separated list of Custom Flag Values |
flags_v |
Custom Flag Values | no | Comma Separated list of Custom Flag Values |
lc |
Location | no | Format: lat,long |
av |
App Version | no | String used to log the version of your application |
dbg |
Debug | no | Set the debug flag to “true” to indicate development data or to “false” to indicate production data. |
The following attributes only apply if dt
is ScreenView
:
Attribute | Name | Required | Description |
---|---|---|---|
hn |
Hostname | no | The hostname for your page |
ttl |
Title | no | The title of your page |
At present, the Pixel Service supports the following event types:
Custom Events
- Custom EventsScreenView
- Page View EventsWhen sending an event as a Custom Event (dt
), you must also provide a Custom Event Type (et
) within the payload.
Some examples may be:
Navigation
Location
Search
Transaction
UserContent
UserPreference
Social
Other
For a more comprehensive list, please refer to our Custom Events documentation.
For Comma separated values, such as event attributes, user attributes and user identity key/value pairs, the key and value must be submitted separately.
For example:
// User Identities
{
"email": "test@email.com",
"customerId": "1234567",
"phone_number": "212-555-1212"
}
Should be uploaded as:
ui_t=email,customerid,phone_number&ui_v=test@email.com,1234567,212-555-1212
Was this page helpful?