The Ad Library sorts by impressions, and its “Most recent” is not a date sort

Meta's Ad Library sorts by total impressions by default, and the one alternative groups ads by month rather than sorting by date. The URL proves both.

Open the Meta Ad Library, search an advertiser, and the ads you see first are their highest-impression ads, not their newest. The library writes sort_data[mode]=total_impressions&sort_data[direction]=desc into the URL for you, before you have touched a control. Switch to the only alternative, "Most recent", and you do not get a date sort either. You get results bucketed into month headings, with the order inside each month set by something other than the date.

Neither of those is documented anywhere in the product. Nothing in the results header, the search tips or the FAQ explains how results are ordered. The sort control's labels are the only place it is stated, and the label "Most recent" is doing a lot of work it cannot support.

This matters because of how people actually use the library. The standard move is to open a competitor's page and scroll, treating what is on screen as what they are running now. You are reading what they are running biggest.

The parameter the interface writes for you

You can watch it happen. Load the bare library URL with no query string at all and the address bar rewrites itself to include a sort you never chose:

.../ads/library/?active_status=active&ad_type=all&country=US
  &is_targeted_country=false&media_type=all
  &sort_data[mode]=total_impressions&sort_data[direction]=desc

Strip the two sort_data parameters out and navigate again, and the interface puts them straight back. A keyword search typed into the page produces the same pair alongside search_type=keyword_unordered. There is no "no sort" state to fall into: an impressions sort is the floor.

The results agree. On a default-sorted commercial search, the first few ads carried start dates in March 2026, then April 2026, then April 2025, with no chronological order in either direction. In the political category, where Meta publishes impression ranges, the interface goes further and breaks the result list up under headings like Impressions: >1M. It says out loud what it is doing, but only on the ads where it is allowed to show you the number.

"Most recent" is a month bucket, not a sort

Open the Sort by panel and the option is there, one radio button below the default. Its value, read straight off the input, is:

{"mode":"relevancy_monthly_grouped","direction":"desc"}

relevancy_monthly_grouped describes itself accurately. Load a search with it and the results render under month headings — Launched September 2026, then Launched August 2026 — and within a single month the start dates run out of order: the 20th, the 20th, the 18th, the 18th, the 18th, the 18th, then the 20th again.

So the ordering is: newest month first, and then relevancy inside the month. "Most recent" is accurate about the buckets and silent about everything else. If you want the actual newest ad in a month, you have to read the date off every card, because position will not tell you.

One scoping note. The commercial category offers exactly two sort options. The political category offers three, adding Impressions: low to high. In both, the default is impressions high to low, and in both, the only alternative to an impressions sort is the month-grouped one.

Why the default distorts competitor research

Two things compound here, and the second is the one people miss.

The first is the sort: position means accumulated impressions, so the top of a competitor's page is whatever has been delivered most, not their latest test. A new creative launched yesterday starts at the bottom regardless of how well it is doing.

The second is retention. As the Ad Library API post covers in detail, commercial ads are retained only while they are active. There is no history for an ordinary US advertiser. So the library shows you active ads, sorted by lifetime impressions, which means the top of the page is systematically the ads that have been running longest and biggest. It is a survivorship ranking that looks like a feed.

Read that way, two very common conclusions are unsafe:

  • "This is what they're testing right now." It is not. It is what they have accumulated the most impressions on, which usually means an ad that has been live for months.
  • "They've stopped making new creative." Also unsupported. New ads sit below older ones by construction, and if you never scroll past the first screen you will never see them.

There is no spend filter, and the one that sounds like it isn't

The complete filter set for a commercial search is six controls: Language, Advertiser, Platform, Media type, Active status, and Impressions by date.

That last one catches people, because it reads like a volume filter and is not. Its help text is "Choose an exact date or select a date range", with From and To pickers. It filters by when impressions happened. There is no way to ask the library for ads above some impression count, and no spend control at all. Spend figures live only in the separate Ad Library Report, and only for ads about social issues, elections or politics.

Active status also defaults to "Active ads", which is why the Filters button reads Filters (1) on a search where you have set nothing. That one preset filter is the reason the result count is lower than people expect, and flipping it to "Inactive ads" does not do what it appears to (see the retention table in the API post).

The political category adds exactly three further filters (Delivery by region, Disclaimer, and Estimated audience size) and nothing else. Estimated audience size is reach, not money.

How to read a competitor's page

  1. Never read position as recency. The default sort is impressions. If nobody changed it, nobody changed it.
  2. Switch to "Most recent" for a recency pass, then read the date on each card rather than trusting the order inside a month.
  3. Scroll past the first screen. The newest creative is structurally at the bottom.
  4. Don't look for a spend filter. It does not exist; "Impressions by date" is a calendar.
  5. Remember you are seeing active ads only, so "their best ad" and "their oldest surviving ad" are frequently the same ad.

Sources


Meta changes this interface without notice, so check the address bar before trusting a claim about ordering, including this one.

Terrads keeps a tagged, searchable archive of the ads we crawl, so "what is this advertiser running lately" is a query rather than a scroll.