Preparing for a big sale period usually starts with the same question: what are we going to offer this season? What percentage off, free shipping, buy one get one? Most teams answer it with a guess, last year's own spreadsheets, or a look at a few competitor websites.
There is a better source: the ads competitors actually ran last season. The Meta Ad Library does not only show ads that are live today; it also shows ads that have ended. Last season's offers, copy and prices are still there.
This article shows how to find those ads, turn their offers into numbers and compare them with what is live today. There are no date promises here: you read when the campaign started and how long it lasted from the start dates of the ads in your own market.
Why ended ads?
An ad that is live today tells you a competitor's current plan. An ad that ran last season and was switched off tells you the plan a competitor tried and finished. Without putting the two side by side, you cannot answer "how does the sale season go in this category?"
One limit up front: the library does not show spend or sales for commercial ads. You cannot tell from it which offer sold more. What you can see is which offer competitors chose, which words they repeated and how long they kept each ad running.
1. Set up the search: term, country, status
Three settings in the panel's Meta Search section are the base of this research.
- Search Term. The Preset terms button next to the field writes the patterns common in discount ads in one click: Free Shipping, BOGO, percentage patterns from 10% OFF to 50% OFF, Limited Offer!, Today Only, Limited Time, On Sale, Money Back. You can also type a campaign name in the language of your market.
- Target Country. Pick one country. Since you are going to read prices, this is a must: prices are read from the copy together with their currency sign, but currencies are not separated from each other.
- Status. The options are All, Active and Inactive. To read last season, search with Inactive first: only ads that are no longer running come back.
If you are searching for a term of several words, such as a campaign name, set Search Type to Exact Phrase; you get ads where the words appear together, in the same order. The search type setting is in the Starter plan.
2. Keep the same search as two links
Because you are going to compare, you will need the same search twice: once Inactive, once Active. The Meta Ad Library carries its search settings in the address bar; build both links once with our search link builder and bookmark them. Throughout the season you open the same two searches under the same conditions.
3. Load the cards
Auto Scan scrolls the page for you and never counts the same ad twice. You set the card limit and speed in the panel. Numbers matter for analysis: the Market Signals section stays empty when there are not enough cards, instead of showing a misleading table built on too little data.
On the cards you see how many days each ad ran. An ad that got past the test stage but is no longer running carries the Ended badge. An ad that has been running 45 days or more and is still active gets the Winner badge. Meta also shows the start date on every ad; that is where you read the campaign's calendar.
4. Count the offers
When the scan is done, switch to the Analytics tab. The Offer language box shows what percentage of the ad copy contains six promises: free shipping, percentage discount, cash on delivery, limited stock, money back and buy one get one.
The list is deliberately narrow: a loose match would show a promise that is not there. So if a rate comes out low, few ads really write that promise; there may be other offer language next to it, which you read on the cards.
Two more boxes on the same tab help:
- Top Keywords — the words that appear most often in the primary text, headline and description. Short words, numbers and common filler words are not counted. Click a word and the cards are filtered by it.
- Top CTAs — the five most used buttons and their shares. Whether the button changes during a sale period is a finding in itself.
Remember: the Analytics tab summarises every card in the scan; card filters do not change these numbers. That is why it matters that you compare with two separate searches.
5. Read the prices
In the same section, the Price points box shows the Median and distribution of prices pulled from the ad copy. In discount ads the price is often in the text, so this box finds more data here than usual.
Ads that put the price inside the image are not counted; only the card text is read. We covered price research and how to read the median in detail in our competitor price research article.
6. Compare the inactive and active searches
Now open the second link, repeat the same steps with Active ads and put the two tables side by side:
- Did the offer language change? If percentage discounts dominated last season and free shipping leads today, the category may have moved from discounts to service.
- Did the median move? If prices in the ended ads are clearly lower than today's, you see how far the sale price sat from the normal price.
- The same words? If Top Keywords is the same in both lists, the category uses a set language. That is your first hint on how to stand apart.
7. Drill into individual ads
The numbers give you the picture; the cards give you the ideas. A few ways in:
- The Search card text box searches the ad copy, headline, description, brand name and domain. Type the campaign name or an offer word and only the ads using it remain.
- The Ad Status card filter separates active and inactive ads in a search you ran with All.
- Set Sort to Longest Running. A discount ad that stays on even after the campaign is over suggests the competitor trusts that offer.
Save the ads you like with a double-click on the creative; the Saved state filter shows only those. To read the copy in full, see our ad copy research article.
Three mistakes to avoid
- Looking at a single competitor. One brand's last season is not the category's last season. Search with the category term first, then drill into brands.
- Mixing countries. Different currencies fall into the same distribution and the median stops meaning anything.
- Copying the offer. An offer everyone writes no longer makes a difference. The real value of the table is showing the gap nobody uses.
Cost
The Ad Library is free and public. The extension's free plan scans 2,000 ads a day, the limit renews in 6-hour windows, and no credit card is required. You can see which plan includes paid features such as the search type on the pricing page.
To do this with the extension: Shopify dropshipping product and creative research