Skip to navigation

Choose an integration method

Compare the ways to send impression, click and video data to Pixalate Analytics, and pick the one that fits your setup.

Pixalate Analytics measures the traffic you send it, so the first decision is how to send it. Most integrations use a Pixalate tag trafficked through an ad server. Publishers without an ad server can place the tag directly in their ad slots, and platforms that can’t run a client-side tag can send data server-to-server. You agree on the method with your Pixalate Customer Success representative at the kick-off call.

Quick comparison

If you…UseMeasures
Serve ads through an ad server, DSP or SSPTag in your ad serverIVT; viewability with the JavaScript tag
Run your own site without an ad platformTag on the pageIVT; viewability with the JavaScript tag
Deliver video through VAST1x1 tag in VAST for IVT, or the verification script for viewability and engagementIVT; video viewability and engagement (beta)
Want click IVT as well as impression IVTClick tracking, added to any of the aboveClick IVT
Can’t run a tag in the browser or appServer-to-serverIVT
Measure ads in mobile or CTV appsSee In-app measurementDepends on the method

JavaScript tag or 1x1 pixel

Pixalate’s tag comes in two forms. Pixalate generates both for you from your macro mapping.

JavaScript tag1x1 pixel
Ad formatsDisplay and nativeDisplay and video
IVT measurementYesYes
Display viewabilityYesNo

To track native ads or measure display viewability, you need the JavaScript tag. If it isn’t in your subscription, ask your Pixalate account manager.

Both forms support GET and POST requests.

Tag in your ad server

This is the most common setup. You traffic the Pixalate tag alongside your creatives in your ad server, DSP or SSP, as a third-party tracking tag, creative wrapper or impression tracker. When the ad renders, your platform replaces the macros in the tag with the details of the impression (advertiser, campaign, placement, device and so on), and the tag sends them to Pixalate.

Tag on the page

If you’re a publisher and you don’t serve ads through an ad platform, you can place the Pixalate impression tag directly on your pages, at the placement level.

  1. A placement is an ad slot on the page that displays creatives. A page can have several placements of different sizes.
  2. Put the impression tag on every placement on the page, in the same div as the placement.
  3. Give each placement a unique placement ID, hardcoded in the tag.
  4. There are no ad server macros to convert. Instead, the tag has placeholders for data points that Pixalate defines. Ask your Customer Success representative for the Pixalate script that fills them in.

These data points can be hardcoded or passed dynamically:

  • Publisher ID
  • Site ID
  • Domain URL
  • Placement ID
  • Ad size
  • Supply type

An on-page tag has fewer data points than a tag in an ad platform. To add detail, you can add these UTM values to the tag:

  • UTM_Campaign
  • UTM_Term
  • UTM_Source
  • UTM_Medium
  • UTM_Content

If you need to pass other data points, Pixalate can assign a key-value parameter for each one.

For where the tag must sit relative to the creative, see Placement rules.

A sample tag doesn’t collect data until Pixalate assigns your client ID and platform ID.

Video

There are two ways to measure video, and they do different jobs:

  • 1x1 tag in VAST. Add Pixalate’s 1x1 pixel as an <Impression> in your VAST XML. It measures video impressions and IVT.
  • Verification script in VAST. Reference Pixalate’s JavaScript verification script in the VAST <AdVerifications> node. The video player runs it through the Open Measurement SDK, and it measures video viewability and engagement (beta) as well as the impression.

Don’t fire the 1x1 pixel and the verification script on the same ad. The impression is counted twice. The verification script carries both the impression and the measurement.

Click tracking

Click tracking adds a second Pixalate tag that fires on clicks, so Pixalate can detect click IVT such as click farms and fast clickers. It works alongside an impression tag. See Click tracking.

Server-to-server

If you can’t run a Pixalate tag in the browser or app, your servers can send impression, click and conversion events to Pixalate’s ingest endpoint instead. You pass the same kind of data as the tag: user agent, IP address, page or app, and your IDs. See Server-to-server integration.

In-app measurement

To measure ads in mobile or CTV apps, use one of these:

  • Tag in your ad server, with the in-app parameters filled, especially the app or bundle ID and the device ID. See the parameter reference.
  • Server-to-server, with the mobile parameters.
  • The verification script in VAST for in-app video viewability, if your player supports the Open Measurement SDK. See Video viewability and engagement.
  • Direct placement in your app, if you don’t use an ad server. See below.

For other in-app options, contact support@pixalate.com or your Customer Success representative.

Fire the tag from your app’s impression callback

If you publish a mobile app and don’t use an ad server, you can fire Pixalate’s 1x1 tag from the impression event of the ad SDKs in your app.

  1. Identify the SDKs in your app that return ads.
  2. Check each SDK’s documentation for the events that support callbacks.
  3. For each SDK, find the event that fires at the impression, or as close to it as possible. The IAB defines an impression as “a measurement recorded at a point as late as possible in the process of delivery of the creative material to the user’s browser — therefore closest to actual opportunity to see by the user.” The ad should be fully rendered and on screen (or available to scroll to, if it loaded below the fold) when the impression is counted.
  4. In that callback, make a network request to Pixalate’s 1x1 tag with all the applicable data points in the query string.

Pass these data points. Your Customer Success representative gives you the parameter key for each one.

Data pointWhat to pass
Ad sizeCreative size (width x height)
IPIP address of the user
Auction or impression IDA random ID that’s unique for each impression
Placement IDID of each ad slot on a screen. Each ad slot must have its own ID.
LatitudeThe user’s latitude, if available
LongitudeThe user’s longitude, if available
App or bundle IDThe app’s Google Play or Apple App Store ID
Device IDThe device’s advertising identifier, such as IDFA or Google Advertising ID
Supply typeThe supply environment, such as Mobile_InApp or Mobile_InApp_Video
OSOperating system
User agentUser agent of the device
Demand-side IDsAny creative or demand-side IDs the callback provides. They let you investigate IVT questions from the demand side.

Then roll it out in stages:

  1. Start with one app, or one placement in one app, in a non-live test environment.
  2. Remove the bracketed placeholders for any parameters you won’t fill.
  3. Send a test build (for example, an Xcode project or APK) to your Customer Success representative. Pixalate reviews the integration.
  4. When Pixalate confirms the integration works, set it live on one app or one placement.
  5. After 10,000 impressions have registered, Pixalate runs a data QA to check that the values in the tag are filled correctly.
  6. When the test-build review and the data QA have both passed, roll the integration out to your other apps and SDK networks.

The legacy Pixalate mobile SDKs for measurement (Android, iOS Objective-C and iOS Swift) are no longer supported. Use one of the methods on this page instead.