<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Roman | Ad Intel Lab</title>
    <description>The latest articles on DEV Community by Roman | Ad Intel Lab (@adintel_lab).</description>
    <link>https://dev.to/adintel_lab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4189269%2F904f7328-30b2-45ce-83b1-1dd71de37269.png</url>
      <title>DEV Community: Roman | Ad Intel Lab</title>
      <link>https://dev.to/adintel_lab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adintel_lab"/>
    <language>en</language>
    <item>
      <title>What 300 live Booking.com ads reveal about their Google and Meta strategy</title>
      <dc:creator>Roman | Ad Intel Lab</dc:creator>
      <pubDate>Fri, 16 Oct 2026 16:30:34 +0000</pubDate>
      <link>https://dev.to/adintel_lab/what-300-live-bookingcom-ads-reveal-about-their-google-and-meta-strategy-78n</link>
      <guid>https://dev.to/adintel_lab/what-300-live-bookingcom-ads-reveal-about-their-google-and-meta-strategy-78n</guid>
      <description>&lt;p&gt;Booking.com spends more on performance marketing than almost any company in travel. You can't see their budget, but you can see their ads: Google and Meta both publish every ad an advertiser runs, in the Google Ads Transparency Center and the Meta Ad Library.&lt;/p&gt;

&lt;p&gt;The problem is that both sites show ads one by one. So I exported them. I pulled &lt;strong&gt;150 Google ads and 150 active Meta ads&lt;/strong&gt; from Booking.com on October 16, 2026 and looked at what they have in common. (It's a sample, not the full account: Booking.com has thousands of ads.)&lt;/p&gt;

&lt;p&gt;Here is what stood out.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Their Google text ads have been running for five years
&lt;/h2&gt;

&lt;p&gt;Every one of the 150 Google ads in the sample is a text ad, and the oldest ones were &lt;strong&gt;first shown on October 25, 2021 and were still live today: 1,818 days&lt;/strong&gt;. The top 8 longest-running ads are all in the 1,814–1,818 day range.&lt;/p&gt;

&lt;p&gt;That tells you something useful about search ads at this scale: once a text ad wins, Booking.com doesn't "refresh the creative" for the sake of it. It keeps it running for years and spends its testing budget elsewhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; if a competitor's search ad has been live for 3+ years, treat it as proven copy. Study its angle before you write your own.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. On Meta, catalog ads do the heavy lifting
&lt;/h2&gt;

&lt;p&gt;The Meta side looks completely different. Of the 150 active ads:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Format&lt;/th&gt;
&lt;th&gt;Ads&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Dynamic product ads (DPA, catalog)&lt;/td&gt;
&lt;td&gt;88&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dynamic creative (DCO)&lt;/td&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Single image&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Video&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Almost &lt;strong&gt;60 % are catalog ads&lt;/strong&gt;: one template that Meta fills with a property, a city and a price for each viewer. The copy is short and always about reducing risk:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"With free cancellation, you can stay flexible. Book the perfect stay with peace of mind."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The call to action is &lt;strong&gt;"Book now" on 100 of 150 ads&lt;/strong&gt;, "Learn more" on 34 and "Sign up" on 16.&lt;/p&gt;

&lt;p&gt;Placements: Facebook 150, Instagram 147, Messenger 23, Audience Network 20, Threads 1. In other words, Facebook + Instagram, and almost nothing else.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; for a big catalog, Booking.com lets the algorithm pick the product and keeps the message to a single objection handler: free cancellation.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The longest-running Meta ads aren't for travelers
&lt;/h2&gt;

&lt;p&gt;This was the surprise. When I sorted the Meta ads by days active, the top 8 were &lt;strong&gt;not&lt;/strong&gt; consumer ads. They target property owners:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Toutes les réservations dont vous rêviez." (All the bookings you dreamed of), running 579 days.&lt;/li&gt;
&lt;li&gt;"Protección frente a reclamaciones de responsabilidad civil hasta 1.000.000€" (liability protection for hosts), 578 days.&lt;/li&gt;
&lt;li&gt;"Con la richiesta di prenotazione puoi scegliere come ricevere le prenotazioni" (choose how you accept bookings), 578 days.&lt;/li&gt;
&lt;li&gt;"Gagnez des revenus complémentaires" (earn extra income), 397 days.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They are in French, Spanish and Italian, all use "Learn more" and they've been live since March 2025. This is Booking.com's &lt;strong&gt;supply-side funnel&lt;/strong&gt;: a quiet, always-on campaign to sign up new hosts in Europe, while the consumer ads rotate much faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; when you research a marketplace, filter out the consumer ads and look at what stays live the longest. That's often the side of the business they care about most.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to do this for your competitor in 3 minutes
&lt;/h2&gt;

&lt;p&gt;I used two scrapers I built on Apify. Both are no-code (fill in a form and click Start), and the output goes to a table you can export as CSV, Excel or JSON.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google ads&lt;/strong&gt; with the &lt;a href="https://apify.com/wakeful_outhouse/google-ads-transparency-scraper" rel="noopener noreferrer"&gt;Google Ads Transparency Scraper&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"queries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"booking.com"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"maxAdsPerQuery"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get each ad's format, first and last shown dates, total days shown, the preview and the decoded text, headline and YouTube ID wherever Google exposes them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Meta ads&lt;/strong&gt; with the &lt;a href="https://apify.com/wakeful_outhouse/facebook-ads-library-scraper" rel="noopener noreferrer"&gt;Facebook Ads Library Scraper&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"queries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"https://www.facebook.com/bookingcom"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"activeStatus"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"active"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"maxAdsPerQuery"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get ad text, CTA, format, platforms, start date, days active and the number of variants. Turn on &lt;code&gt;includeAdDetails&lt;/code&gt; to also get EU reach and an age and gender breakdown for ads shown in Europe.&lt;/p&gt;

&lt;p&gt;Then sort by days shown or days active. The ads at the top are the ones the advertiser keeps paying for, so they are the ones worth copying the &lt;em&gt;idea&lt;/em&gt; of.&lt;/p&gt;

&lt;p&gt;Two more tricks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;monitorName&lt;/code&gt; to the input and schedule the run weekly. Each run returns &lt;strong&gt;only ads you haven't seen yet&lt;/strong&gt;, so you get a "what did my competitor launch this week" feed.&lt;/li&gt;
&lt;li&gt;Both tools charge per ad (from $0.60 per 1,000 on Meta) with no start fee, so a 300-ad export like this one costs well under a dollar. You can try them on the Apify free plan.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Have a brand you want me to break down next? Drop it in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>marketing</category>
      <category>advertising</category>
      <category>datascience</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
