If you landed here, it’s fair to assume that Prebid.js and Header Bidding are your bread and butter, and no further introduction of this fundamental Ad Tech is needed. You are probably also familiar with Professor Prebid. However, for good measure, Professor Prebid is an open-source Chrome extension that allows easy debugging and troubleshooting on publisher websites using Prebid.js.

In an ideal world, you’d debug your application from the comfort of your desktop, and your application would work seamlessly when accessed through a mobile device. But we all know that we are not in an ideal world, and bugs can creep into perfectly well-behaved systems in unfathomable ways. Chatting with Prebid.org’s Chris Huie—the Chair of Professor Prebid and other Prebid tools—the other day, he confirmed that this is a real use case and that debugging the mobile UX is a real thing, and there is plenty of space for improvement. 

Here at ScientiaMobile, as the creators of the venerable WURFL device detection framework, we know one thing or two about the challenges that “device diversity” poses to developers. Not coincidentally, we are the company that released WurflRTD—a real-time data module for Prebid.js that enriches bid requests with device information. It only made sense that we’d be the first to take the challenge of using Professor Prebid on a mobile device.

First, Chrome’s devTools is the primary debugging tool for Prebid applications.  

Pasting a few lines of code into your browser’s devTools console window (F12 or Fn+F12 depending on your platform) will let you view ad units and bids for the webpage you are on. The Prebid documentation offers several excellent JavaScript snippets to help with verification and troubleshooting.

For example, if your Prebid build includes WurflRTD, you can paste the following lines in the devTools console, and all WURFL device properties will show in all their beauty.  

// Find the first event where the event type is 'bidRequested'
const firstBidRequested = pbjs.getEvents().find(ev => ev.eventType === 'bidRequested');
// Check if such an event was found
if (firstBidRequested) {
    // Safely access the nested 'wurfl' object from the event arguments
    const wurfl = firstBidRequested.args?.ortb2?.device?.ext?.wurfl;
    // Log the WURFL data to the console
    console.log('WURFL:', wurfl);
}Code language: JavaScript (javascript)

A look at the data that the WurflRTD adapter helps supply

Enter Professor Prebid

Professor Prebid is a Chrome extension designed specifically to streamline the process of debugging and analyzing Prebid.js implementations. Once Professor Prebid detects that Prebid.js is running on the current page, it unleashes a suite of interactive tools to inspect ad units, bids, and a plethora of configurations in real time.

Professor Prebid in action 

Currently, the extension is only supported on the desktop version of Chrome and other Chromium-based Browsers. It is not available to Safari or Firefox users (who can still rely on their developer console, of course), and it cannot be installed on Chrome for Android or iOS. Or can it?

Impersonate a mobile device

Querying Prebid data through devTools is excellent if you’re replicating the behavior of a desktop computer, but what if unusual behavior is only reported on smartphones or other mobile devices? Fortunately, most modern browsers now offer the ability to spoof headers (and other properties) and impersonate a mobile device (Chrome Devtools, Firefox Web Developer Tools). This may be enough to reproduce many issues.

Chrome’s devtools’ custom device screen

If you are already familiar with Google User-Agent freeze and how User-Agent strings have been replaced with additional HTTP headers called User-Agent Client-Hints (UACH), the dialog box above will make immediate sense (if not, here’s some recommended reading).

If you get the general concept but are unsure which headers to use, this tool will tell you what headers you need to let you impersonate a mobile device. To do this, visit the webpage from your favorite phone or tablet, and copy the headers from the box highlighted in the image below.

Now, all we need to do is plug the header values provided by the WURFL Tools website into your favorite browser’s header spoofing utility, which we discussed above, and you are all set!

A screenshot showing the WURFLRTD module returning data of a Galaxy S25 from a desktop device, using the spoofed headers shown in the previous screenshot.

Of course, impersonating a device will help in many cases, but not all. What if faulty behavior is only observed on a specific device? That’s where debugging on the actual device could still come in handy.

Remote Debugging Tools

Both Android and iOS offer tools to debug web pages remotely through a computer. On Android, users can remote debug Prebid.js, and iOS also offers a similar method. Other third-party solutions, such as BrowserStack, provide ways to remotely see what’s happening in your prebid environment when testing from a mobile device.

Browserstack’s remote debugging tools (iPhone 16)

Install Professor Prebid Extension using the Lemur Browser for Android

Troubleshooting and debugging Prebid.js issues on mobile devices is not simple, as Professor Prebid is unavailable there. However, we discovered a viable alternative for Android users: the Lemur Browser. This Chromium-based browser uniquely supports desktop extensions on Android, opening the door to using Professor Prebid on your mobile device.

This section walks you through installing Professor Prebid on your Android device using Lemur Browser. Thanks to a nifty free tool called scrcpy, you will be able to mirror your device screen on your (larger, we bet) desktop display. This YouTube video provides more information on how to install and use scrcpy. 

What You’ll Need:

  • Android Device: Running Android 5.0 or later.
  • Internet Connection: Wi-Fi or cellular data.
  • Lemur Browser: Download it from the Google Play Store.

If you want to mirror your screen, optionally:

  • scrcpy: For mirroring your screen to your computer.
  • USB Cable
  • USB Debugging Enabled

Installing Professor Prebid on Mobile

To install Professor Prebid on your Android device, download and install the Lemur Browser from the Google Play Store. Once Lemur is installed, open it and search for “Professor Prebid” in the Chrome Web Store. Locate the extension in the search results and tap on it. Then, tap “Add to Chrome” and confirm the installation in the dialog box. You can confirm the installation by tapping the four-square icon next to the address bar and checking for the Professor Prebid extension.

(Optional) Install scrcpy:

scrcpy will mirror your Android screen on your desktop display:

  • Install scrcpy: Follow the installation guides for your operating system.
  • Enable USB Debugging: Find this in your Android device’s Developer Options (enable Developer Options if needed by tapping the “Build number” seven times in Settings).

Enabling USB debugging in the Android Settings

  • Connect Your Device: Connect your Android device to your computer using a USB data (aka sync) cable.
  • Authorize Your Computer: if prompted to “Allow USB debugging?”, go for it.
  • Run scrcpy: Refer to the usage examples in scrcpy’s documentation, but the following should do the trick:
scrcpy --video-codec=h265 --max-size=1920 --max-fps=60 --no-audio --keyboard=uhid --mouse=uhidCode language: Bash (bash)

Scrcpy being run in the console and the mirroring of an Android device

Why Use scrcpy for Installation?

  • Larger View: Easier to navigate and read.
  • Mouse and Keyboard: More convenient for searching and clicking.
  • Simultaneous Access: Keep these instructions open on your computer while interacting with your mirrored mobile screen.

With Professor Prebid installed in Lemur, navigate to any Prebid.js-powered website. You can now access Professor Prebid’s features through its icon or context menu—inspecting and analyzing the Prebid implementation directly on your mobile device is now a breeze.

Here are all the ad units on a prebid webpage:

Another look at Professor Prebid on an Android Device being mirrored to a desktop

You can navigate to the config tab to see all the modules Prebid.js uses (including our WurflRTD adapter).

Good job. You deserve a pat on the back.

Conclusion

By leveraging the Lemur Browser and optionally scrcpy, you can bring the power of Professor Prebid to your mobile debugging workflow, making on-the-go analysis and troubleshooting much more manageable.

Debugging Prebid.js can feel daunting; however, we are confident this blog post will help developers in their Prebid.js journey. 

If you are a stakeholder in the Ad Tech ecosystem (publisher, SSP, DSP, ad network, agency, or brand, to name a few), feel free to reach out to ScientiaMobile for guidance on how to leverage device information piggybacked onto bid requests, thanks to our WurflRTD provider. Long live Prebid!

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Want access to the latest mobile device trends?

Download the Mobile Overview Report.

>