Where do the Instagram numbers come from?
From Instagram, through your own connected Instagram professional account, and only for a competitor whose own account is a professional one Instagram is willing to describe: a personal account and an age-gated professional account both come back with nothing. One permission that read needs, instagram_basic, was denied at App Review on our publishing app, so today the feature answers for accounts holding an admin, developer or tester role on it and shows everyone else a permission notice instead of a number. We read that per connection from the token Meta actually issued, never from a review result written into our code. When it does answer, the like, comment and view counts are the ones Instagram returns for that brand, and engagement rate is arithmetic on top of them: likes plus comments over the account's follower count. Followers are the only denominator Instagram gives anyone for another account, so it is not a rate against the people who actually saw the post, and we say so on the number. If Instagram withholds an input, there is no rate, and you see no rate rather than a zero.
Why can I not see a competitor's ad spend, impressions, CTR or ROAS?
Because nobody can. Meta publishes spend and impression ranges for political, issue and social ads only. For a commercial advertiser those figures do not exist at any access level, so every tool that shows them is modelling or scraping and presenting the result as fact. We show the field as unavailable and say why. That blank is the one number in the category you can take into a client meeting and defend.
Does the Meta ad archive cover my market?
Only if your competitors advertise into the EU or the UK. Meta archives a commercial ad where it reached the EU or the UK and holds it for about a year with no backfill; elsewhere the archive keeps political, issue and social ads only. A brand advertising solely in the United States or India will return nothing, and that is the archive's coverage rather than evidence they run no ads. Instagram tracking and landing-page tracking have no geographic limit.
Is the survival number a performance score?
No, and the column header says so: it reads Ran vs cohort median, never Performance. Survival measures each ad's run against the Kaplan-Meier median run of the ads that advertiser launched in the same month. An ad that had not finished when we last read it counts towards the estimate for the days we watched it and then leaves the calculation, rather than entering as though it stopped at its current age, and a month where more than half the ads are still running gets no median at all. The archive publishes duration and never cost, so a small retargeting ad running all year can outrank a scaled campaign that did its job in three weeks. Read it as longevity, not as return. None of it is collecting yet: Meta's Ad Library API answers only an identity-confirmed credential, and ours is still in review.
Do you track TikTok?
No. There is no sanctioned commercial route into TikTok data, and TikTok's Research API bars commercial use. Rather than scrape it and call the result a feature, we leave TikTok out of every competitor source we run. Connecting your own TikTok ad account, and publishing to TikTok, are separate roadmap items and neither of them reads a competitor. If competitor data changes through an official route, it will show up in the changelog.
How does landing-page tracking avoid false alarms?
Our own crawler re-reads the pages you pin, following the site's robots.txt and sending no credentials, on a once-a-day sweep that ships off and is switched on per deployment. Countdown timers and visitor counters change on every visit, so they are excluded from the headline, button and price comparisons, and a ticking clock never reads as a changed call to action. They stay in the content hash on purpose: a page carrying one is still reported as having moved, with nothing we track behind it, because masking them out of the hash is how a real price change gets swallowed. Pages that serve different content on different visits are flagged as such, because that is what an A/B test or a country variant looks like from outside. We do not execute JavaScript, so a page built in the browser reads as unreadable rather than as unchanged.
Are the AI labels on hooks and angles facts?
No, they are readings, and they are labelled that way. A model reads the ad's own words and infers the hook, angle, persona, offer and funnel stage. Every label is marked inferred and opens to the exact source text it came from, so you can check it in one click. An item nothing has read says it has not been read rather than showing an empty set of tags.
What does competitor tracking cost?
It is part of the overads superapp and included on every plan: Starter $49/mo, Growth $149/mo, Scale $299/mo. Programmatic access through the public API is included on Growth and Scale, and today it carries your own ad accounts and our own landing-page crawl. The Instagram readings are held behind a legal review of Meta's Platform Terms and the ad archive has no route yet, so those endpoints answer 404 rather than an empty list. The MCP server is opt-in from the beta program.