---
title: "OpenAI Pixel tracks a button on desktop but not on mobile"
description: "A button sends a ChatGPT Ads event on desktop but not on mobile, or the reverse. Usually the mobile layout has its own copy of the button. How to fix it."
updated: "2026-10-23"
url: "https://ispixelworking.com/guides/openai.mobile_cta_tracking_mismatch/generic"
---

# OpenAI Pixel tracks a button on desktop but not on mobile

Fix guide · Any website · medium · about 30 min · updated 2026-10-23

For the finding “Mobile buttons are tracked differently from desktop” (`openai.mobile_cta_tracking_mismatch`).

## What this means

On your page, a button or link sends an OpenAI Pixel event (for example `lead_created`) when it is clicked on a desktop screen, but not when the same button is tapped on a phone, or the other way round.

We report this as **possible**: a site can legitimately behave differently on phones. Check it yourself before changing anything.

Why it can cost you money:

- A large share of ad traffic is on phones. If the mobile button is silent, conversions from mobile visitors never reach ChatGPT Ads.
- Campaigns that optimize for conversions then learn mostly from desktop visitors.
- Reports undercount the device where people actually convert.

## How to confirm it yourself

1. Open the page in a **private (incognito) window**, open developer tools (F12), go to **Network** and filter by `bzr.openai.com`. Accept cookies.
2. Click the button on the desktop layout and note the event that leaves (check the `type` in the request payload).
3. Turn on device emulation (the phone icon in Chrome's developer tools, or *Responsive Design Mode* in Firefox and Safari), choose a phone, reload and accept cookies again.
4. Tap the same button. If no event leaves, or a different one does, you have the mismatch. Confirm on a real phone if you can: some sites switch layouts on the device type, not only on the screen width.

## How to fix

The cause is almost always that the phone and desktop versions are different elements, and the tracking is attached to only one of them.

1. **Find out whether there are two buttons.** Right-click the button and choose *Inspect* in both layouts. If the element, its ID or its classes differ, your site renders a separate mobile copy (common in site builders, sticky mobile bars, mobile menus and responsive "show on mobile only" blocks).
2. **Attach the event to every copy.** Options, from simplest:
   - give both copies the same identifying attribute (for example a class like `js-book-call` or a `data-` attribute) and attach the code to that, instead of to one element's ID;
   - in a tag manager, change the click trigger so it matches both copies (for example "Click Classes contains `js-book-call`" instead of a single Click ID), and check the trigger in **Preview** mode on both layouts;
   - if the button is a link to another page (for example a booking page), send the event on that page's load instead of on the click, so it no longer depends on which copy was tapped.
3. **Send the event once per action.** If both copies end up in the page at the same time (one hidden by CSS), make sure a single tap does not fire two events.
4. **Check mobile-only links.** On phones, a "Call us" or "WhatsApp" button often becomes a `tel:` or app link. If that is your conversion, track it on the mobile element too, with the same event name as on desktop.
5. **Check the call itself.** The event must use the same name and data shape on both layouts, for example:

   ```js
   oaiq("measure", "lead_created", { type: "customer_action" }, { event_id: crypto.randomUUID() });
   ```

6. **Publish** your changes and clear any cache.

## Common causes

- The site builder renders separate desktop and mobile versions of a section, and only the desktop button carries the tracking code or the tag manager selector.
- A sticky mobile call-to-action bar was added later without tracking.
- The click trigger uses an element ID that exists only in one layout.
- The desktop button submits a form (tracked on submit), while the mobile button links to a different page or app.
- A script waits for a mouse event (`mouseover`, `mousedown`) that touch screens do not send the same way.

## How to verify the fix

1. Repeat the test in desktop and phone layouts: the same button sends the same event once in both.
2. Re-run the check on IsPixelWorking. The finding should be gone.

## Sources

- OpenAI Developers, Measurement Pixel (`measure` calls, event options): https://developers.openai.com/ads/measurement-pixel
- OpenAI Developers, Supported Events (event names and data shapes): https://developers.openai.com/ads/supported-events
- Chrome for Developers, Simulate mobile devices with device mode: https://developer.chrome.com/docs/devtools/device-mode
- Google Tag Manager Help, Click trigger: https://support.google.com/tagmanager/answer/7679320
