You went to a lot of effort to design your blog and write each blog post, but how much time have you put into promoting it? Sure it’s going out in your email newsletter, you shared it a few times on Twitter and Reddit, but how do you get traffic from people who’ve never heard of you?

One quick trick to seed that initial audience is to promote your posts on Facebook. If you’re thinking it’s crazy to run paid ads to promote free content, read on. Most never do this, but if you add up all the time spent on that post, and multiply it by your hourly rate, it’s easily costing you in the order of $500 – $1,000 per article!

If you’re already spending thousands of dollars making that ‘free’ content, doesn’t it make sense to spend another $20-$30 a day to make sure it does well? Google isn’t in the habit of ranking websites with no traffic, and nobody can share your post if they don’t see it first, so  spending on paid promotion can be just what you need to kickstart your blog’s growth .

The best way to do this is to re-engineer Facebook’s Dynamic Product Ads (DPAs). Once set up, it becomes an evergreen campaign that is  always running in the background, generating new ads and promoting your posts automatically . Even better, you can set it to optimize to people who actually read your content, so you know that traffic is valuable and none of your budget is wasted. Pretty awesome growth tactic right?

The setup for Dynamic Product Ads is advanced — you can’t just copy and paste a pixel on your site and call it a day. You have to set up a product feed of blog posts and connect your tracking so that Facebook can dynamically match the product feed to website behavior. But don’t worry, this guide covers all you need end-to-end to get your campaigns running.

*Note: Below are only a few screens from the whole tutorial on how to set everything up. For the whole thing, go to the full article (link at the bottom).

Creating Your Dynamic Ads “Product” Feed

1. The first thing you need is a list of products to promote. These ads were designed to promote a list of products for eCommerce sites, so we’re just adapting the format a little to make our blog posts our ‘products’. This can be a programmatically updated database or something as simple as a spreadsheet.


This spreadsheet is important because it’s where Facebook will pull all of the information you want to insert in your ads. It will go through and make one (or multiple) ads for each row in the spreadsheet, dynamically generating it based on the data in the columns fed through a template you create.

To get started, first download the standard CSV template here:

2. Then you need to export all of your blog posts from your CMS.

Each blog post has to have a unique ID. For the condition, make sure you put ‘new’, and availability ‘in stock’. You have to put a price, but no need to put this into the ad.

You can add your own custom labels with the naming convention custom_label_0, custom_label_1, for any fields like Author, or Tags that you want to be able to filter by or insert into the ad.

When you’re finished just delete any data or columns you didn’t use, including the template data, and you should be left with something that looks like this:


4. Once you’re ready, you can actually publish that spreadsheet to the web to use as a dynamic product feed. Any changes to the spreadsheet, for example if you add more rows when you publish new blog posts, will be pulled from your publish link directly into Facebook, once they’re connected. The ‘Publish to the web’ option is under the File menu.

You want to publish as Comma-separated values (.csv), and copy the link you get so you can paste it into Facebook later on. Anyone with this link can access the list of products here, so make sure you don’t share it widely or submit any sensitive information.

5. Ok, that part is done — you published a product feed! Now you just need to set it up as a catalog in the Facebook platform. To do this, log into your ads manager and go to the menu > Assets > Catalogs > then click Create catalog (or visit this URL).

You want to choose Ecommerce, then Upload Product Info, and give your Catalog a name. Now View the Catalog, and go to Configure > Product Data Sources > Use Data Feeds.

6. Finally, you’re at the point where you can paste that link Google Sheets gave you when you published to the web. It goes right there in the ‘Data Feed URL’ section after you select “Set Automatic File Upload Schedule”.


Facebook will then import your products from your sheet, and tell you if you have any errors. Hopefully though because it’s a relatively simple spreadsheet it should pass the first time with all products (blog posts) uploaded. If it doesn’t, just pay attention to what the errors are telling you and make any necessary changes.

You can see all of your products and filter them by different attributes in the Products section of the Catalog. This is also where you make Product Sets if you want to advertise some products separately or segment them out into separate campaigns.

7. To check your upload worked correctly, just click into a couple of these products and make sure you have the right images, titles, etc all present.

You don’t need to overcomplicate at this stage — it can be tempting to go back and edit your feed to include more and more information, but first, focus on just getting a basic setup live. You can always go back later once we see this working to experiment with more advanced functionality. So long as you have the image, title and URL, you’re good to go.

One final thing before you leave: make sure you go to “Events Data Sources” and click Connect to Tracking. You need Facebook Pixel installed on your site for this to work.

Setting Up Dynamic Ad Campaigns For Your Blog Posts

You have built a product feed. Now for the easy part to finish: building your campaigns. This is the part that makes everything worthwhile.

1. Assuming you connected your Catalog to Tracking in the Events Data Sources section of your Catalog, you should be good to go. To start, go to your ads manager and create a ‘Catalog sales’ campaign.


2. Now name your campaign and make sure the right catalog is chosen. You don’t want to be constantly messing with optimizations and Facebook does a better job at this than you would, so it’s best to choose Campaign Budget Optimization and set a daily budget. You don’t need to start big, but $20 a day is $608 a month which is enough to get things going, and you can choose to scale up or down from there.

3. It’s best to have two ad sets within your campaign, one for retargeting (people who have been to your website and not ‘purchased’ or read 50% of your blog posts), and one for prospecting (people who have not been to your website yet).

4. There are many different audience targeting options but it’s best to keep it simple to start and expand later. For retargeting, just choose someone who has been to your website in the past 14 days. You don’t want to chase them around the web forever if they’re not interested.

5. For prospecting, create a lookalike audience of people who have been to your website. If you select Find Prospective Customers and then go to Create New under custom audiences, select Website traffic, you can create your custom audience. Then you just need to create a 1% lookalike by selecting that custom audience.

6. This is important: as you scroll down to the Optimization & Delivery section, make sure you select Conversion Events and Purchase. This will ensure Facebook optimizes to people who read 50% of your content, and you’ll be able to see how many show up in the Facebook ads manager.

7. Lastly, you need to make your ads. It’s best to choose a Carousel ad, because it lets Facebook optimize which blog posts to show first in the ad. It is also an engaging ad format because people can interact with it and scroll along to see what other blog posts we have.

The way that Facebook pulls in the Blog Post data automatically from your feed is by the and product.url fields you see there. These can be combined with other non-dynamic text or other dynamic fields, however you like. To add other fields simply click the + button and all the fields from your spreadsheet will appear.


Make sure your ads look how you’d like them to in the preview pane on the right, and test out different formats for your ads. Don’t insert the price as is common with eCommerce ads, as you just made that price up. However, feel free to get creative by inserting categories, author names, tags, and any other variables you think can make the ads more compelling.


That’s it, that’s all you need to get dynamic ads set up on your blog. You’ll see this was a little more complicated than a normal Facebook promoted post or campaign setup, so what did you gain by doing this?

Well, now that this is all done,  Facebook will automatically promote your blog posts as soon as you add them to your spreadsheet  (you could even go on to automate adding them to our spreadsheet using something like Zapier).

Not only will Facebook automatically create the ads for each blog post based on the template you made, but they will automatically optimize the performance of those ads as well. You can very quickly roll out new ad variations that work by default for all products/blogs in your feed.

In addition, if you’ve added the Purchase event to fire when someone reaches 50% of your blog, you’re going to be driving high-quality visitors who actually want to read your material. Over time Facebook will get better at finding those people so your results will improve.

Finally,  promoting blog posts using paid ads will give you that edge over competitors who don’t promote . It will help you supplement your organic traffic, and allow you to rank higher and quicker because you have more people visiting your page, which means more chances to share and link. Think of it like pouring gasoline on a fire to get it started quicker — you can’t run a whole fire on gasoline; you need that slow-burning charcoal, but you also have a lot of hungry guests (your blog’s stakeholders) who don’t want to wait forever for their food!

How to Use Facebook’s Dynamic Ads For Quality Blog Traffic

 Carousel ad unit still enjoys a bit better engagement and is favored by Facebook, especially for product feeds. You should take advantage of this.