Last updated: 8 October 2026 · version 1.5.4
Onlyfy runs only on Facebook Ad Library pages
(facebook.com/ads/library). On those pages it reads the ad cards
that are already displayed to you, in order to extract the destination link of
each ad. It does not read any other page, and it does not read your Facebook
account, profile, messages, feed or activity.
| Data | Where | Why |
|---|---|---|
| Your settings (filter on/off, grouping mode, strict mode, deep check, highlight) | chrome.storage.sync |
So your preferences persist. Because this uses Chrome's sync storage, Chrome copies these settings between your own signed-in Chrome installations via your Google account. That transfer is performed by Chrome, not by Onlyfy. Signing out of Chrome sync keeps them local. |
| A cache of website hostnames, whether each looked like Shopify, and which signal decided it | chrome.storage.local |
So each website is checked at most once instead of on every search. Local to your device only, never synced, never transmitted. Clear it any time with Clear cache in the Onlyfy popup. |
| The date you installed Onlyfy and the version you installed | chrome.storage.sync |
So the price you are offered can honour an early-user rate, and so your
account knows when you started. Sent to our licence server
(licence.ecom.beer) when Onlyfy checks current prices (at
most every six hours while you use the Ads Library, and when you open
the Pro page), when you open a checkout, and with your account's counts
when you are signed in. The price check only compares it; your account
record keeps it. From 1.5.5 the price check and the checkout also carry
the random installation id, the extension version and the timezone your browser is set to, so that a cheaper regional price,
or Pro's price in your own currency, can be offered where one exists
(the version says whether your copy of Onlyfy can show that currency);
the checkout keeps the timezone with the purchase. |
| Usage counters: how many searches you have run today, this month and in total, how many ads have been filtered, how many Shopify stores have been found, and which calendar dates you used Onlyfy on | chrome.storage.sync |
So the free tier can be metered, and so the popup can show you what Onlyfy has done for you. Counts and dates only — never what you searched for, and never which sites were checked. |
| A random identifier for this installation | chrome.storage.local |
Attached to the anonymous usage counts described below, so repeat use from one browser is not counted as many different people. It is generated on your device, is not derived from anything about you or your hardware, and is not synced between your devices. Turning off Share anonymous usage stops it being sent; clearing the extension's data discards it. |
| A count of how many separate days Onlyfy found at least one Shopify store, your star rating, and whether you have answered the review prompt | chrome.storage.sync |
So the popup can ask for a Web Store review once — after Onlyfy has actually been useful — and never ask again. A count of days and a yes/no, nothing about what you searched for or which sites you visited. The day count is not sent. The star rating, and whether you rated, skipped or put the question off, go with the anonymous usage counts below, if those are on; the rating also goes to the feedback form described under Ratings and feedback. |
Uninstalling Onlyfy removes all of it.
To decide whether an ad's destination runs on Shopify, Onlyfy loads that website's home page and inspects the response — the same thing your browser would do if you clicked the ad. These requests go directly from your browser to the advertiser's website. They do not pass through any server of ours, with one narrow exception described under The Onlyfy resolver below.
Two things follow from this, and you should know both:
credentials: 'omit'), so they carry no login state and cannot
identify you to the advertiser by account.
Some websites refuse to respond to Onlyfy at all, answering every request with a bot check. For those, and only those, Onlyfy asks a public DNS resolver where the domain points — a Shopify store's address records are distinctive enough to identify it without ever loading the site.
example.com),
to Cloudflare's
public resolver, falling back to Google Public DNS if Cloudflare cannot be
reached. Nothing else — not the ad, not your search, not who you are.
A small number of websites cannot be read from a browser at all. Every request is refused, the DNS lookup above sees only the security service sitting in front of the site, and there is nothing further your browser can try. Those ads would otherwise stay marked “couldn't check” forever.
For those domains, and only those, Onlyfy asks a server we operate. It answers from sources a browser cannot reach — public web archives holding a copy of the page from when it was last crawled, and public scanning services that fetch with their own browsers. It answers the same question once for everybody, so a domain that stumped one person is already settled for the next.
example.com)
and the extension's version number. Nothing else — no identifier, no
cookies, no search terms, nothing about the ad and nothing about you.
Onlyfy carries a hidden diagnostics panel, used for debugging. It is not shown
in the interface and only appears after a deliberate sequence of clicks. One
of its checks confirms that Onlyfy's own requests are being sent correctly, by
sending a request to a public header-echo service —
httpbin.org, falling back to postman-echo.com —
and reading back what arrived.
Nothing about you is included: the request carries no identifier, no domain and no page content, and it is only ever made when that button is pressed. It is listed here because this page aims to name every destination Onlyfy can contact, including the ones almost nobody will reach.
When you install Onlyfy from a link to one of our own ads, the ad's campaign
tags and Facebook's click id from that link, your browser's user-agent string
and its timezone are sent once to getecomfilter.com, our site,
so we can count which ad brought you. If the link came from a Facebook or
Instagram ad, the click id, the user-agent string and the time of the
install are passed on to Meta through its Conversions API, which tells Meta
that the ad led to an install. We do not keep the click id after that, and
your IP address is not stored or passed on. Nothing is sent when you
installed any other way, or when Share anonymous usage is off.
Onlyfy sends anonymous counts to Google Analytics so we can see how many people use it and how heavily. This is on by default and can be switched off with Share anonymous usage under Privacy in the settings panel — off means no request is made at all, not one that is discarded on arrival.
| Sent | Never sent |
|---|---|
|
A random installation id Extension version That a search happened, and a count of searches: today's if you are signed in, your total if not The keyword you searched, lowercased and cut to 36 characters — so we can see which niches people research. It is tied to the random installation id above and never to your account or your email The timezone your browser is set to (for example Europe/Berlin), with these counts, so we know roughly which countries
Onlyfy is used in. Your IP address is never read, looked up or storedThat an install, update or review prompt occurred, and what you pressed on the review prompt If you installed from a link to one of our own ads, that link's campaign tags (which of our campaigns, ad sets and ads, and where the ad was shown), read once at install from the Web Store tab you installed from. Nothing else in that tab or any other is read Whether a DNS lookup helped, as a one-word outcome The star rating, never what you typed with it Which setting you changed, and to which of its fixed options How many ads were on a page, and how many of them were Shopify, could not be checked, or were filtered — counts only, never which ads or which sites That Onlyfy could not read a page, or fell behind on one |
The domains or websites being checked Your IP address Which ads you looked at, or which advertiser they came from Ad content, page content or screenshots Your Facebook account, name, email or IP-derived identity Your browsing history Anything at all when the setting is off |
The boundary is enforced in code, not only by intention: every value is checked against a short allow-list before it is queued, and anything longer than 36 characters is discarded rather than truncated, specifically so that a domain name cannot end up in a payload by mistake.
When you cancel Pro, the Pro page asks why, and one follow-up question; both are optional. If you pick answers, they (each one of a short fixed list) are stored by our licence server against your subscription, so we can see why people leave. Nothing you type is sent; there is no text box.
If you give Onlyfy five stars, that rating and the extension version go to a form the developer owns, and the Web Store opens. Below five stars, a box appears asking what would make it better. Nothing goes to the form until you press Send, and then it carries what you typed (which can be nothing), your star rating and the extension version. Nothing else: no identifier, no domain, no search, nothing linking it to you or to the anonymous usage counts above.
Focus mode asks once whether it helped. If you pick thumbs up or down, that answer goes to the same form when you press Send or Skip, with anything you typed and the extension version, and nothing else.
A copy is kept on your device so that a failed send does not lose what you wrote. Clearing the extension's data removes it.
If you remove Onlyfy, Chrome opens a page on this site asking why. Nothing is sent unless you pick an answer and press Send. Your answer, anything you type and the version you had go to the same form, and nothing else.
From version 1.5.0 the free plan has an account: your first search needs nothing at all, and after that you sign in — with Google, or with a link we email you — for three filtered searches every day. There is still no password. Signing in with Google tells us one thing, the address on that account, and nothing else about it; the email route asks for an address and sends a link to it.
Against that address we keep: when the account was made and when it was last used, which of the two routes made it, how many times you have signed in, how many browsers you use it in, whether you are on Pro, the extension version you were last seen on, the date you first installed Onlyfy, and the counts the extension already keeps — searches run, ads filtered, stores found, days used, times you pressed Show or Hide on the filtered ads — plus your settings (including whether the filtered ads are showing) and timezone. It is the record of an account, and that is all it is.
Signing in, and the check your browser makes every few hours while you are signed in, carry a random identifier for this installation — not the one the anonymous counts use — which is how the record counts the browsers you use. So does the sign-up card, which gets Google sign-in ready as soon as it appears.
What is never attached to it: what you searched for, the ads you looked at, the sites Onlyfy checked, your IP address. The keyword counts described above are anonymous and stay that way — they are tied to the anonymous counts' own random id, and there is no place in the account record that could hold it.
Write to onlyfy@ecom.beer to see what is held against your address or to have it deleted, and it will be done.
Onlyfy Pro is optional. Opening the Pro page gets its checkout buttons ready, which sends our licence server the date you installed Onlyfy, the extension version, which version of the upgrade card you see, the random identifier for this installation described below, and your account if you are signed in. The sign-in email described below is the free account's too. Nothing else in this section happens unless you press a buy button.
Buying Pro opens a checkout page in an ordinary tab; when the payment clears, Pro switches on in that browser, with nothing to type afterwards.
Payment is taken by Whop, who are the Merchant of Record for every Onlyfy order. Onlyfy never sees your card number, and no payment details pass through the extension. The name and address you give Whop stay with Whop, under their privacy policy; we can see the email address on the order and whether the subscription is active, which is what tells us to keep Pro switched on.
The email address you buy with. Whop collects it to send your receipt, and we use it for one further thing: signing you in, which is also how Pro turns on in a second browser. You sign in with Google, or type the address and we email you a link plus a six-digit code. Clicking the link or typing the code signs in the browser that asked. Either one expires in fifteen minutes and works once. Signing in uses the free account described above. The email is sent through Brevo, our email provider, who process it on our behalf and do not use it for anything else. We do not add you to a mailing list, and we do not send marketing to it.
What is stored on your device afterwards: a token that identifies your
subscription to the licence server, and a signed statement that this
installation is on the Pro plan until a given date. Roughly once a week, and
only while you are subscribed, the extension asks
licence.ecom.beer whether the subscription is still active. That
request contains the token, a random identifier for this installation, and
nothing else — no searches, no domains, no browsing data. The random
installation identifier is separate from the one used for anonymous usage
counts above, and the two are never joined.
Uninstalling removes both tokens from your device. To have the email address itself deleted, cancel and email onlyfy@ecom.beer — the record of the order is held by Whop, who keep it for as long as tax law requires them to.
| Permission | Reason |
|---|---|
storage | Save your settings, the local hostname cache and your usage counters. |
declarativeNetRequestWithHostAccess |
Set ordinary browser headers on Onlyfy's own outgoing checks, so a site treats them like a normal visit rather than blocking them as a robot. It is scoped to requests Onlyfy itself makes in the background and cannot match a request from any page or tab, so nothing you browse is altered, read, redirected or blocked by it. |
| Access to all websites | An ad can point anywhere, so the destination to be checked cannot be known in advance and cannot be limited to a fixed list of domains. This access is used solely to load the destination of an ad you are already viewing. Onlyfy injects no code into those sites and reads no personal data from them. |
Runs on facebook.com/ads/library |
The only page Onlyfy modifies, in order to hide or highlight ad cards. |
Onlyfy is a tool for advertisers and e-commerce researchers. It is not directed at children and does not knowingly collect information from them.
Version 1.2.0 added DNS lookups and anonymous usage counts, both described above and both switchable off.
Version 1.4.0 added the optional Onlyfy Pro subscription, described under “Paying for Onlyfy Pro” above. The previous version of this page promised that change would be written down here before it shipped, and this is that entry. It brings one genuinely new thing: for the first time Onlyfy can hold an email address — only for people who subscribe, only the one they bought with, and only to send a receipt and restore Pro on another browser. At that point nothing about the free extension changed: it had no account, asked for no address, and never contacted the licence server.
Version 1.5.0 changed that, which is the largest change this page has ever recorded. The free plan now has an account after the first search, so the free extension does contact the licence server and does hold an address; the anonymous counts now carry the keyword searched and the browser's timezone. All three are described above, in the sections they belong to, and the Chrome Web Store disclosures were updated in the same release rather than after it.
If Onlyfy gains a further feature that changes any of this, this page and the Chrome Web Store data disclosures will both be updated before that feature ships.
Questions about this policy: onlyfy@ecom.beer