Bundle Pixeltest bench

Scenarios

Not run yet.
Android9:41
Host appWebView

The frame fakes the user agent, touch points, referrer, IntersectionObserver and the MRAID bridge. The pixel request header still carries your real browser's UA.

What the tag saw

Status
Pick a scenario.

Custom environment

Header fallback (Android)

Android WebView has sent the app package in the X-Requested-With header. A page cannot set that header, so the server fires this pixel itself with it.

Run every scenario in real browser engines

Each scenario loads in a real headless browser on the server. Chromium is the engine inside Android System WebView. WebKit is the engine inside every iOS app WebView. Each engine also loads the plain ad page with no simulation, so you see what it reports on its own.

Android test app

Download APK

A minimal app with a real Android System WebView. It loads six ad setups the way real apps and ad SDKs do, then shows the results. Its package name is cc.cleartrust.bundlepixel.harness.

  1. Install the APK on a phone. Allow installs from your browser when Android asks.
  2. Open Bundle Pixel Harness. The server field is filled in with .
  3. Tap Run all. Results appear in the app and below.

On a Mac with the Android emulator installed, run this instead:

npm run android

App source

iOS test app

Build steps

The same six setups in a real WKWebView. iOS apps can only be installed from Xcode or TestFlight, so this one is source you build in Xcode.

  1. In Xcode, create an iOS App project with the bundle id cc.cleartrust.bundlepixel.harness.
  2. Replace its view controller with ViewController.swift.
  3. Run it on a simulator or an iPhone and tap Run all.

You can also open /live.html inside any app you already have, such as a link opened in Instagram or Facebook.

Real app runs

The setups each run checks

No app runs yet.

Run any JavaScript

Code runs in an isolated frame with its own origin, so it cannot reach this page, its storage or cookies. Network calls to private addresses are blocked in real-browser runs. Ctrl or Cmd + Enter runs it here.

Android9:41
Plain pageNo simulation

Console 0

Run some code to see what it reports.

Your pixel URL

The tag fills these placeholders anywhere in your URL. If your URL has none, it appends ev, b, bs, os, env, cb instead.

{bundle}App bundle or package, empty if not found
{bs}Where the bundle came from: tag, menv, mraid, url, ref, ua, none
{os}a = Android, i = iOS, o = other
{env}mraid3.0, mraid2.0, wv (app WebView) or web
{ev}render, or view when viewability is on
{cb}Cache buster

Use an https URL. Browsers block or upgrade http pixels on https pages. Anything in data-q is appended after your URL.

Preview

What the tag calls inside an Android MRAID 3 app, com.example.puzzle:


      

Install snippet


    

Pixel hits 0

Real-browser runs report in their own tab.
TimeScenarioEventTag bundleSourceOSEnvX-Requested-WithFinal bundle