How To Run Facebook Ads For In-Store Sales in 2025
See How Merge Stream CEO Generated Over $2.3 Million in Yearly Sales Averaging Just $335/Day on Ad Spend
- Author: Jesus Garcia
- September 1, 2025
- 13 Min Read

Most small business owners dream of turning modest ad budgets into massive returns. The CEO of Merge Stream did exactly that through another business he previously managed, Joyeria Daisy—driving over $2.3 million in in-store yearly sales from Facebook ads alone in 2024, an 19x ROI, all while spending an average of just $335 per day.
In today’s digital-first marketing world, understanding Facebook advertising is crucial. It’s one of the most effective tools for small businesses to reach local customers. But while many businesses use Facebook ads, very few truly harness the full potential of Facebook’s most powerful tools: the Facebook Pixel and Conversion API.
In this article, we’ll teach you step by step with real world application and results on how to replicate the same level of success—whether you're a small retail shop or a growing multi-location business. You’ll learn how to connect your in-store point-of-sale data to Facebook Ads, use the Facebook Pixel and Conversions API the right way, build high-converting audiences, and optimize your campaigns for real, measurable results. No guesswork—just proven strategies backed by over $2.3 million in trackable sales.
Table Of Contents
- Before We Begin
- Upload a Customer CSV List
- Creating a Lookalike Audience
- Setting Up Your First Campaign
- Creating High-Converting Ad Creatives
- How to Track In-Store Sales with Facebook Ads
- How to View and Analyze Your Reports
- Why This Facebook Ads Strategy Changes Everything
Before We Begin

To get the most from this strategy, you’ll need a few essentials in place: access to Facebook Business Manager, an active ad account, a Facebook Pixel, and ideally a POS system that captures customer info at checkout (like name, phone, and email). If you’re using Merge Stream, most of this is already built in and connected via the Facebook Conversions API.
This strategy is about long-term optimization, not a one-time boost. By the end of this guide, you’ll know how to use Facebook’s tools to drive real foot traffic, lower your cost per acquisition, and track every sale back to the campaign that brought it in.

Before moving on, make sure you have:
- A Facebook Business Manager account
- A connected Facebook Ads account
- A properly installed Facebook Pixel
- Conversions API access or integration (handled automatically with Merge Stream POS)
- A POS system that collects customer data (email or phone at checkout)
- A goal to track (e.g. in-store purchases, walk-ins, repeat visits)
How to Upload a Customer CSV List to Facebook for Targeted Ads

One of the easiest and most effective ways to start targeting the right audience with Facebook Ads is by uploading your existing customer list. Whether you’ve collected emails, phone numbers, or other identifiers through your POS system, Facebook allows you to upload this data and match it to user profiles through Custom Audiences.
This is a foundational step in creating high-converting campaigns, especially when you want to:
- Retarget previous customers
- Build lookalike audiences based on real purchase behavior
- Track in-store results through Facebook’s system
Step-by-Step: Uploading a Customer CSV to Facebook
1. Prepare Your CSV File You’ll need a spreadsheet with at least one of the following:
- Email addresses
- Phone numbers
- First & last names
- ZIP/Postal Codes
- Country
2. Go to Audiences in Facebook Business Manager
- Visit https://business.facebook.com
- Navigate to your Business Manager
- Click the "Audiences" tab (found under “Assets”)

3. Create a Custom Audience
- Click Create Audience → Custom Audience
- Select “Customer List” as the source
- Choose “No LTV” if you’re not assigning lifetime value to customers (optional)
- Upload your CSV file
- Map the data fields (e.g., email, phone, name)
4. Wait for Matching
Facebook will process the file and match the data to user profiles. This typically takes a few minutes to a few hours depending on size.
Once done, your Custom Audience will be ready to use in your ad targeting.
Creating a Lookalike Audience from Your Customer List

Once you've uploaded your customer CSV and created a Custom Audience, the next powerful step is to expand your reach using a Lookalike Audience. This tool enables Facebook to automatically find new people similar to your current customers, amplifying your ad performance and scaling campaigns efficiently.
The Concept: Custom vs. Lookalike Audiences
- Custom Audiences are composed of people who have already interacted with your brand—such as actual customers, website visitors, or email subscribers. Their value comes from direct intent and high relevance
- Lookalike Audiences, introduced by Facebook in 2013, take your Custom Audience and identify other users with similar behaviors and demographics (interests, engagement, purchase habits)
Why it matters: Compared to interest-based targeting, lookalikes consistently deliver lower CPA and stronger click-through rates. In one AdEspresso study, Lookalike targeting performed ~13% better on cost-per-acquisition than interest-based audiences.
Setting Up a Lookalike Audience

1. Navigate to Audiences
- In Facebook Business Manager, go to Audiences under Assets.
2. Select Your Source Audience
3. Define Audience Settings
- Location: Choose a country or region where you want to find similar users.
- Precision setting (%): Start with 1% for high similarity, then test 5–10% to expand reach gradually
4. Name and Create
Setting Up Your First Campaign Using a Lookalike Audience

Now that you’ve uploaded your customer list and created a Lookalike Audience, it’s time to launch a campaign that puts your ads in front of people most likely to shop at your store. A Lookalike Audience is powerful because it lets Facebook do the hard work—finding people who behave like your best customers even if they've never heard of your brand.
Here’s how to set up your first campaign using your Lookalike Audience:
Step-by-Step Campaign Setup
1. Go to Ads Manager
- Visit https://adsmanager.facebook.com and click Create to start a new campaign.
2. Choose the Right Campaign Objective
- Sales – Ideal if you're tracking sales via Pixel/Conversions API (especially with a POS integration like Merge Stream)

3. Create an Ad Set and Apply Your Lookalike Audience
- Under Audience, select Use Saved Audience → Your Lookalike Audience (e.g., “Lookalike – In-Store Buyers – 1% US”)
- You can exclude your original Custom Audience to avoid targeting existing customers if desired
- Keep age, gender, and detailed targeting broad—the Lookalike algorithm already finds the best matches
4. Set Location Targeting
- Choose the geographic area around your store(s). A common radius is 5–15 miles around your zip code or city
Choose the geographic area around your store(s). A common radius is 5–15 miles around your zip code or city.
Pro Tip: If you have multiple store locations, use Facebook Locations to dynamically localize ads.
5. Budget and Schedule
- Start with $20–50/day per audience
- Set the campaign to run continuously or for a defined promotion window
- Use automatic bidding to start (lowest cost), then test manual later if needed
6. Design the Ad
Creating High-Converting Ad Creatives for Lookalike Audiences

Now that your Lookalike Audience campaign is set up, the next piece of the puzzle is the creative—what people actually see in their feed. This is where you win attention, stop the scroll, and convert interest into foot traffic or sales.
A Lookalike Audience already gives you a warm targeting pool (people who resemble your best customers), but without the right visuals, message, and offer, your campaign won’t reach its full potential.
Think Like a Local Buyer
When advertising to a Lookalike Audience for in-store sales, remember:
- They don’t know your business yet
- But they likely share habits and traits with your best customers
- So your creative should be clear, trust-building, and offer immediate value
Key Elements of a High-Performing Ad:
1. Image or Video That Feels Local
- Use real photos of your store, products, staff, or satisfied customers
- Bonus: Add a location overlay or neighborhood reference (e.g. “Now Open in Dallas!”)
Video Tip: Even a 15-second walkthrough of your store with captions and upbeat music can outperform stock photos. According to easyInsights Facebook video ads outperform images ads with a 1.87% CTR compared to 0.43% CTR.
2. Headline That Speaks to the Problem or Desire
Examples:
- “Tired of Waiting in Line? We Get You In & Out Fast.”
- “Fresh Meats, Cold Drinks, and the Lowest Prices in Town.”
- “Exclusive In-Store Deals for Local Shoppers – This Week Only!”
3. Strong Offer or Hook
People unfamiliar with your business need an incentive to act now:
- “Show this ad for 10% off your first purchase”
- “Get a free drink with any meal this weekend”
- “Spend $25 and receive a $5 in-store credit”
This also helps with in-store attribution when you track who mentions the ad at checkout.
4. Clear Call to Action (CTA)
Use action-driven buttons and copy:
Pro Tip: If you use Store Traffic as your campaign objective, Facebook will automatically insert a “Get Directions” button based on the user’s location.
Closing the Loop — How to Track In-Store Sales with Facebook Ads

Creating a powerful campaign is only half the battle. What sets high-performing advertisers apart is their ability to track what actually works—especially when it comes to in-store sales that can’t be tracked via website clicks or online purchases.
In this section, we’ll show you how to:
- Manually upload your in-store purchases to Facebook
- Set up Offline Event Tracking in Facebook Events Manager
- And how Merge Stream’s built-in POS + Conversions API integration automates this entire process for you
The Problem with Traditional Attribution
Most small businesses running Facebook ads have no idea which campaigns are working. Why?
Because:
- Their customers buy in person, not online
- They don’t have ecommerce tracking, so conversions aren’t automatically logged
- Facebook’s default tracking relies on Pixel events tied to websites, not physical stores
The Solution: Offline Conversions via Events Manager
Facebook allows you to manually or automatically upload in-store purchases and tie them back to specific ads. This is done through Offline Events in Facebook Events Manager.
Method 1: Manual Upload (via CSV/Excel)
1. Go to Events Manager:
2. Create an Offline Event Set:
- Click "Connect Data Sources" → "Offline"
- Name your event set (e.g., “In-Store Purchases”)
- Assign it to your ad account

3. Format Your Excel/CSV File:
- event_name (e.g., Purchase)
- event_time (in ISO format: YYYY-MM-DDTHH:MM:SS)
- value (purchase amount)
- At least one user identifier (email, phone, name, zip, etc.)
4. Upload the File:
- In your Offline Event Set, click "Upload Offline Events"
- Choose your file and map the columns correctly
- Facebook will match this data to users who saw your ads
View the entire step-by-step guide online
Method 2: Automated Upload via the Conversions API (Merge Stream Recommended)
Manual uploads are helpful, but they’re limited:
- You must remember to upload regularly
- There’s a delay in data processing
- You can’t track campaign performance in real time
How It Works with Merge Stream:

- When a customer makes a purchase, the POS collects their email/phone
- This data + transaction amount + timestamp is instantly sent to Facebook via the Conversions API
- Facebook matches the customer to their profile and attributes the sale to the campaign they engaged with
- The Facebook algorithm now learns what led to the sale and improves future delivery
This allows you to:
How to View and Analyze Your Reports

Once your POS system (or manual uploads) is feeding in-store purchase data to Facebook via Offline Events or the Conversions API, it’s time to measure what matters: how much you’re actually making per dollar spent.
In this section, we’ll walk you through how to see:
- Total in-store purchases attributed to your ads
- Revenue generated per campaign
- Cost per in-store purchase
- Return on ad spend (ROAS)
- And how to customize your reporting views for better decision-making
Where to Find In-Store Purchase Data
1. Go to Facebook Ads Manager
- Visit https://adsmanager.facebook.com
2. Select Your Campaign, Ad Set, or Ad
- Click the checkbox next to the campaign(s) you want to analyze
- Click "View Chart" or "Breakdown" to see details
3. Customize Columns to Show Offline Conversions
Click “Columns” → “Customize Columns” and use the search bar to add these key metrics:
- Offline Purchases
- Offline Purchase Conversion Value
- Cost per Offline Purchase
- Offline ROAS
- Impressions, Reach, CTR (for context)
Save this custom view as "Offline Performance" for future access

Understanding the Metrics
Amount Spent
- What it Means: The total dollar amount you invested into your ads
- Why it Matters: Establishes your baseline investment to measure efficiency and ROI
Reach
- What it Means: The number of unique people who saw your ad
- Why it Matters: Indicates how wide your message is spreading to potential customers
Impressions
- What it Means: The total number of times your ad was displayed (including repeats)
- Why it Matters: Helps gauge visibility and how often your audience is being exposed
Frequency
- What it Means: The average number of times each person saw your ad
- Why it Matters: Ensures you’re balancing awareness without oversaturating your audience
Purchases
- What it Means: The number of purchases directly attributed to your ad
- Why it Matters: A clear indicator of real-world sales impact
Average Purchase Conversion Value
- What it Means: The average dollar amount of each attributed purchase
- Why it Matters: Reveals customer value and helps identify if your ads are attracting high-spend buyers
Purchase Conversion Value
- What it Means: The total revenue generated from purchases attributed to your ad
- Why it Matters: Shows the true dollar impact of your campaign and feeds directly into ROI calculations
Attribution Time Frame
Facebook uses a default 7-day click / 1-day view attribution window. This means:
- A sale is counted if someone clicked the ad and made a purchase within 7 days, or
- If someone viewed the ad and purchased within 1 day
Tip: You can modify this window in Ads Manager to analyze different conversion timelines.
Best Practices for Reviewing Campaign Data
Why This Facebook Ads Strategy Changes Everything for In-Store Sales

Running Facebook Ads as a brick-and-mortar business has always come with a major challenge: tracking what works. Most local businesses end up guessing which ads drive foot traffic—and worse, let Facebook optimize campaigns with incomplete data.
But as you’ve seen in this guide, that problem is now solvable.
By syncing your in-store point-of-sale (POS) data with Facebook Ads, you unlock the full power of the Facebook Pixel and Conversions API. This allows you to:
- Upload a customer list and build high-performing Lookalike Audiences
- Run ad campaigns that target people just like your real customers
- Automatically track and attribute in-store sales to your Facebook ads
- Optimize campaigns based on actual purchases, not just clicks
- Lower your cost per acquisition and increase return on ad spend
This is the exact strategy the CEO of Merge Stream used to generate over $2.3 million in retail sales—from just $335/day in ad spend—with an 19x ROI beating the industry average of 2x according to Upbeat Agency.
Key Takeaways
- Uploading your customer data builds a foundation for smarter ad targeting
- Lookalike Audiences allow you to scale beyond your existing base
- Facebook’s Conversions API lets you track offline sales in real time
- Proper attribution empowers Facebook to find better customers, faster
- Using this method means your ad dollars go further, with data to prove it
Why This Matters for Local Businesses
Most small businesses waste money on ads because they rely on guesswork. They boost posts, run vague awareness campaigns, or target broad interests—without ever knowing what actually works.
This system eliminates that.
When you connect your in-store sales data to your Facebook campaigns, you’re no longer flying blind. You’re giving the algorithm exactly what it needs to learn, optimize, and scale—which is why this method consistently outperforms traditional Facebook strategies for physical retail.