PixelAlert is a Chrome extension that walks a store's purchase funnel (home page → product → cart → checkout → purchase) and checks whether tracking pixels (Meta, Google Analytics 4, TikTok, Google Ads) fire correctly. This policy explains what data the extension touches, where it goes, and what it never does.
In one sentence: everything the PixelAlert extension records about your store's tracking pixels stays on your own device, in your own browser's local storage. The optional PixelAlert Pro subscription adds what does leave your device: your licence key, the store address you add to daily monitoring and, only if you set one, an alert address (section 4), plus a daily check of your store run from our servers (section 5).
1. What data the extension collects
PixelAlert only looks at network requests going to known tracking-pixel domains (Meta, Google Analytics, Google Ads, TikTok, and a few related vendors), and only on browser tabs that are open to the store address you typed into the extension.
Data
Why
Tracking request URL and parameters (event name, pixel/account ID, page path, order value and currency, timestamp)
To determine whether a tracking event fired, and whether it looks correct
The address of add-to-cart requests your browser sends to your own store (never their contents)
To tell which funnel steps you walked, on stores where adding to cart doesn't open a new page
Request errors (e.g. blocked by an ad blocker)
To tell you when a result may be unreliable
The store domain you entered
To know which tabs to watch
2. What the extension never collects
General browsing history, or activity on sites unrelated to the store you're checking
Customer personal data such as emails or phone numbers. If a tracking request happens to contain one (some pixels send hashed or plain-text customer emails), it is detected and stripped out the instant it's captured. Only a flag ("this request contained an email") is kept, never the value itself. Already-hashed values are left as hashes.
Passwords, payment details, or anything from your store's admin panel. The extension does not open or read your Shopify or WordPress admin
Any identifiers that let us or anyone else recognize you personally
3. Where the extension's data goes
Nowhere but your own device. The tracking data described above is stored using Chrome's built-in chrome.storage.local and chrome.storage.session APIs. The extension makes no network requests of its own for this feature, other than the ones it's observing on the vendor domains listed above. Data is automatically deleted after 60 days.
PixelAlert Pro adds two features that send data off your device: the licence check (section 4) and the daily server-side check (section 5). Both are described below, and neither is active unless you subscribe.
4. Payment and license status (PixelAlert Pro only)
PixelAlert has an optional paid tier, PixelAlert Pro, that unlocks a daily server check of your store and its alerts. This section only applies if you choose to activate it.
Checkout is handled entirely by Paddle.com, our payment processor and merchant of record. We never see or store your card number or other payment details.
To activate Pro inside the extension, you paste the licence key shown after checkout (we also email it to you). The extension sends that key, together with a random installation ID, to a licence server we operate (hosted on Cloudflare). It does this to check your subscription, to show your daily check results (about every 6 hours while Chrome is open, shortly after Chrome starts, and when you open the report), when you add the store address you add to daily monitoring, when you change your email settings, and when you ask the extension to email you your key.
Our licence server stores: the email address you entered on our pricing page (it is also passed to Paddle for your receipts), your Paddle subscription ID and customer ID, plan and status (trialing / active / canceled), your trial end and any scheduled change, your licence key, the stores you add to daily monitoring and whether each is verified, an alert address if you set one (and one waiting for confirmation), and whether you turned the emails off.
We use your email address for three things. The daily check emails and the weekly summary (section 5). Sending your licence key once after checkout, and again whenever you ask for it with "Lost your key?" on our pricing page or "Email me the key" in the extension; it only ever goes to this address. And, if you change where alerts go, a note to your previous address once the change is confirmed. We don't send marketing email.
Alert address: you can ask for alerts to go to a different address from the extension's report page. The new address only takes effect after you click the confirmation link we email to it. Until then alerts keep going to the current address. Confirmation links expire after 7 days.
Installation ID: each licence check also carries a random installation ID that the extension creates once when it is installed. It is not derived from your device, browser or identity, and it is discarded when you uninstall the extension. We use it only to count how many installations use one licence.
Checkout hand-off: for one hour after checkout we keep a one-time pointer so the checkout page can show you your licence key once.
If a payment reaches us that we could not match to a licence (for example a payment without an email address), we keep that event's Paddle IDs and status, never an email address, for 90 days so we can find you and send your key.
This licence data is kept separate from the tracking data described in sections 1–3 and 5. It is never combined with your store's pixel data, and is never sold, rented, or shared with anyone other than the services in section 6.
5. The daily store check (PixelAlert Pro only)
Daily monitoring is the reason PixelAlert Pro exists, and it cannot run inside your browser, because your browser isn't open at 3am. So once a day, from our own servers, we visit the store you asked us to watch, walk the same funnel up to the start of checkout, and record which tracking requests those pages send. The check does not see purchases or the payment step.
The whole point is to see what your customers' browsers see. So the scan behaves like a shopper, because a scan that behaved like anything else would measure something other than your customers' experience, and would report tracking as healthy or broken when it is neither.
We only check a store after you prove you own it, and we keep checking that you still do.
Adding a store to monitoring gives you a verification string, which you place in that store's theme. Our server fetches the store's home page and looks for it. If the string isn't there, the store is never scanned, and every daily scan re-checks it. Remove the string and scanning stops within three days. (Three rather than one, so a single failed fetch doesn't silently end your monitoring.)
What stops the scan: removing the store from monitoring (which also deletes its monitoring data), or your Pro subscription ending (the scan stops from the next day). If our verification tag is missing from the store's open home page on 3 daily checks in a row, we stop the full scan and email you. We keep fetching only the home page once a day to look for the tag, and resume automatically, with an email, when it is back. A password page or a store we cannot reach does not count as the tag being removed: the scan continues and tells you when it couldn't check.
What the scan visits: the public pages of your own storefront: home page, a product page, the cart, and the start of checkout. The same path a shopper takes. It does not log in, does not place an order, and does not enter any payment or personal details.
What we keep from each scan: the date, your store domain, whether the funnel could be completed, which steps of the funnel were walked, how many Meta tracking requests were seen per pixel ID, which tracking tools and events were seen on each step, the region and cookie-consent condition of the check, and whether our verification tag was present. We do not store product data, page contents, or the tracking request addresses in this monitoring state.
What we derive and keep: a small monitoring state per store: the last day tracking looked normal, how many days in a row something has been failing, the tracking setup we compare each scan against, a daily log of the last 21 checks, and the alerts we told you about. We also keep the latest check result so the extension can show it.
Emails: we email you on your first check, when a check finds a new alert or a confirmed change in your tracking setup (seen on two daily checks in a row), when an alert closes (a pixel we alerted you about is seen again, or we can check your store again after we couldn't), when we stop or resume checking a store because of the verification tag, and once a week with a weekly summary. These emails carry a one-click stop link. If the email provider has a temporary error, an email may wait up to 4 days to be retried. We keep the last 50 email send errors (store, date and error code) to fix delivery problems.
Where it is kept: Cloudflare Workers KV, under keys named after your store domain, alongside a record of which account the store belongs to.
How long: for as long as the store is monitored. Removing the store from monitoring deletes its monitoring data. When your subscription ends, everything we hold for your account (the licence record, the monitored stores and their monitoring data) is deleted 30 days later. You can ask us to delete it sooner: email support@pixelalert.app.
Scan run records: the daily scan runs on GitHub Actions. Each run keeps a debug file for 7 days, visible only to us, so we can fix a scan that broke. It contains the tracking requests our scan saw on your store's public pages (request addresses and bodies, which can include product names and prices from your catalog). It contains nothing about your customers: the scan is our own visit.
Traffic to your store: one scan per day. While a store's scan is stopped because the tag is missing, one home-page fetch per day.
How the scan appears in your logs: the ownership check that reads your theme identifies itself as PixelAlert. The daily funnel scan runs a real Chrome browser and sends a standard Chrome user agent, because a scan that announced itself would be measuring something other than what your customers' browsers see.
6. Sharing with third parties
We do not sell, rent, transfer, or share any data with advertisers, data brokers, analytics companies, or anyone else. If you never activate PixelAlert Pro, none of your data ever leaves your browser. For Pro we use these services, and each receives only what it needs:
Cloudflare hosts our licence server and stores the data in sections 4 and 5.
Resend delivers our emails. It receives the recipient address and the content of each email (your store domain and the alert, change, summary or licence key), and nothing else. Our Resend account sends from its Tokyo (Japan) region, so that is where these emails are processed. It has its own privacy policy.
GitHub runs the daily scan (GitHub Actions) and keeps each run's debug file for 7 days (section 5).
7. Permissions the extension requests, and why
Permission
Purpose
webRequest
Observe (not block or modify) requests to known tracking-pixel domains
storage
Save results locally on your device
scripting
On your own store's pages only, check whether a cookie banner is holding tracking back. It reads the page and never changes it
alarms
Wake the extension about every 6 hours and shortly after Chrome starts, to check whether a tracker has stopped firing and, with Pro, fetch your daily check results
notifications
Show you an alert when a tracker stops or the daily check finds a problem
Host permission for the store you add (optional_host_permissions)
Requested when you add a store: that store's address and its subdomains, plus eleven named advertising and analytics domains (listed on How it works), so the extension can see requests made by tabs open to your store. Nothing else is ever requested
Host permission for our licence server (host_permissions)
Used for Pro: licence checks, adding a store to daily monitoring, fetching daily check results, changing email settings, and emailing you your key when you ask (see section 4)
8. Your controls
You choose which store domain to monitor. The extension does nothing until you set one.
You can clear the tracking data the extension captured at any time from the extension's own reset control ("Reset captured data").
You can revoke the extension's access to your store and to the tracking domains at any time from Chrome's extension settings.
You can cancel PixelAlert Pro at any time at paddle.net (sign in with the email you paid with). Pro stays on until the end of the period you already paid for. The extension re-checks your subscription with our server each time you open it, and switches Pro off once the subscription has ended.
You can stop the daily check and summary emails at any time with the link at the bottom of any of them, and turn them back on from the extension's report page.
You can ask us to delete everything we hold for your account at any time: email support@pixelalert.app. Otherwise it is deleted 30 days after your subscription ends (section 5).
Uninstalling the extension deletes all locally stored data with it.
9. Children's privacy
PixelAlert is a tool for store owners and marketers and is not directed at children. It does not knowingly collect data from children.
10. Chrome Web Store Limited Use disclosure
PixelAlert's use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements. Specifically:
Allowed use. The tracking requests PixelAlert observes are used for one thing: to show you, in the extension's own report, whether your tracking fired and whether the data it sent is usable. That is the extension's single purpose and the only thing this data is used for.
Allowed transfer. We do not transfer this data to anyone. It stays in your browser (sections 1–3). With Pro, the only data that leaves your device is your licence key and a random installation ID, the store address you add to daily monitoring, and an alert address if you set one, all sent to our licence server (section 4). The daily scan data in section 5 is collected by our own servers, not by the extension.
No advertising. We never use or transfer this data to serve personalised, re-targeted or interest-based advertising. PixelAlert shows no ads and sells no data.
No human reading. No person at PixelAlert reads the tracking data the extension captures in your browser. It is not transmitted to us, so there is nothing for us to read.
PixelAlert does not use Google Sign-In or any Google API OAuth scopes, so the separate Google API Services User Data Policy does not apply to it.
11. Changes to this policy
If what the extension collects or does changes, this page will be updated and the "Effective date" above will change accordingly.