All active Meta ad accounts across the Joshua Tree Experts franchise portfolio.
Audit Completed
Jul 24, 2026
Meta portfolio review
Scope
Franchise Portfolio
All active Meta ad accounts
Channel Reviewed
Meta / Facebook
Prospecting and retargeting surfaces
The Meta program is uneven. There is no consistent strategy across locations, and the build leans into some of Meta's algorithmic strengths while ignoring others. The largest measurable gap is optimization: locations are optimizing toward the browser Lead pixel event, while the actual business KPI, Qualified Lead, only flows in as an offline reporting signal. Standard Meta reporting understates true lead volume and inflates cost per lead. Every location is missing dedicated retargeting, and every active ad set runs a single ad, which limits creative learning across the portfolio.
Overall Takeaway
“Move optimization onto Qualified Lead, add retargeting per location, and give the algorithm real creative variety to test.”
01 · Executive Summary
Locations optimize toward the browser Lead pixel event. The true KPI, Qualified Lead, flows in as an offline CAPI signal for reporting only, so delivery is learning from an earlier and noisier signal than the one the business cares about.
Campaign structure, audience targeting, and creative testing differ location to location without a clear pattern. The most repeated theme is broad targeting and a brand wide lookalike, which is not the strongest starting point for local lead generation.
The build leans into some algorithmic features, like multi asset creative and lookalikes, while ignoring the ones that matter most: CBO, Advantage+, meaningful audience testing, and above all a real creative testing program. The account is neither fully manual nor fully algorithmic, which limits both approaches.
No dedicated retargeting campaigns and no retargeting ad sets on any location. Given how much traffic Google Ads is pushing at these markets, this is one of the clearest missed levers on the Meta side.
02 · Core Finding
Core Finding
The setup. Each location optimizes campaigns toward the Franchisee Pixel's Lead event, a standard browser event fired when someone submits or intends to submit a lead form on site. Qualified Leads, the downstream business outcome, are sent into Meta separately through the Franchisee Dataset as offline Conversions API events.
What Meta can and cannot do with that. The offline Qualified Lead events are available for attribution and reporting, but they are not available as optimization events. That means Meta can show Qualified Lead numbers in a separate reporting column, but the delivery algorithm is still learning from browser Leads, not from the qualified outcome that matters most.
The consequence. Standard Results and Leads metrics understate real campaign performance because Qualified Leads sit in their own column. Cost per lead in the default view is inflated, and creative and audience decisions get made against a signal that does not match the KPI the business is scoring against.
Our take
Review the tracking architecture so Qualified Lead can drive optimization, not just reporting. If a direct browser or server side Qualified Lead event is possible, campaigns should optimize on that. Until then, expect reporting to under count and delivery to prioritize the wrong outcome.
03 · Call Tracking
Call Tracking On Meta
The setup. Meta is using its own built in call tracking to count calls placed from ads. No CallRail events are being sent to Meta, and the ad UTMs are missing the CallRail standard parameter fb_ad_id={{ad.id}}, so CallRail cannot fully attribute Meta driven calls either.
Why it matters. The majority of the calls Meta is currently counting are under 20 seconds, so they are unlikely to be real leads. They do not affect the Leads column or cost per lead in reporting, but they do inflate the picture on the calls tab and make the account look busier than it is on that surface.
The fix. Send CallRail call events to Meta and add fb_ad_id={{ad.id}} to Meta ad URLs so CallRail can attribute calls back to the ad. This tightens both call reporting inside Meta and cross channel reporting inside CallRail.
04 · Account Setup
Campaign names do not encode budget type, objective, or intent. A naming convention makes optimization work far easier and is worth adopting going forward. Not worth retroactively renaming years of campaigns.
The portfolio is built as one campaign per location, all on ad set budget optimization. Running ABO exclusively means budget stays where it was placed even when a different ad set is clearly outperforming. A mix of ABO and CBO would let Meta allocate against performance where that is the goal.
Most locations reuse the same broad targeting shape, often paired with a brand wide lookalike. Broad can work, but reusing an identical broad setup across different local markets removes the audience signal Meta could otherwise learn from, and pairs poorly with the tracking mismatch above.
05 · Campaigns & Ad Sets
Multi creative on a single ad still counts as one ad. The creative testing story is covered in its own section below.
Locations lean on a brand wide customer list to build lookalikes. A localized customer list per market would produce a more relevant seed and pairs better with local retargeting.
Ads on file lean on similar visuals and copy. See the Creative section for why this is the biggest lever on Meta and how it ties to the email work already underway.
06 · Creative Testing
Creative Testing
Why creative matters on Meta. Audience targeting on Meta has been progressively anonymized over the last several years. There is not much left to pull on from a targeting perspective, and what remains is largely handed to the algorithm. What actually drives performance today is Meta's delivery system paired with its ability to find winning creative. Creative is the primary lever.
What is happening in the account. Every active ad set runs a single ad. Concepts across locations lean on similar visuals and copy. There is no visible cadence of new creative going into the account, and no structured testing framework to identify winners, retire fatigued concepts, or feed the algorithm real variety to choose between. For a channel where creative is the main input, this is the gap that matters.
The opportunity. Craft Digital is already producing content for Joshua Tree's email campaigns and sequences. That same production line can feed a real creative testing program on Meta at low marginal cost. Email creative becomes paid social creative, ad sets run three to four concept distinct ads, and fresh concepts rotate in on a cadence so the algorithm always has something new to test against what is already working.
Our take
This is a serious commitment, not a one time fix. Running Meta well means a standing cadence of new creative, structured tests, and quick calls on what to scale or retire. It is the difference between the algorithm having something to work with and not.
07 · Location Callouts
Location
Running max impressions with broad targeting. Even accounting for other lead events, this campaign has one of the highest costs per lead in the portfolio. Objective and targeting both need a rethink.
Location
Four ad sets with near identical audience targeting inside a single campaign. This is not audience testing in a meaningful sense and creates redundant delivery. Consolidate, then test one variable at a time.
08 · Retargeting
Retargeting Gap
No dedicated retargeting anywhere in the portfolio
There is no dedicated retargeting campaign on any location, and no retargeting ad sets inside the prospecting campaigns. Every location running Google Ads is paying to send new traffic that Meta could re engage cheaply through custom audiences of site visitors, lead form openers, video viewers, and page engagers. Adding a lean retargeting layer per location is one of the clearest wins on this channel and pairs directly with the Google spend already in market.
09 · Prioritized Recommendations
Review the tracking architecture so Qualified Lead can be used as an optimization event, not only a reporting signal. Until that is in place, delivery will keep learning from a shallower signal than the KPI the business scores itself against.
Send CallRail events to Meta so real calls are counted the same way form leads are. Add fb_ad_id={{ad.id}} to ad URLs so CallRail can attribute Meta calls at the ad level.
Stand up a retargeting layer for every location: site visitors, lead form openers, video viewers, and page engagers. This is the clearest missed lever on Meta and is inexpensive to launch alongside existing prospecting.
Move away from a single brand wide lookalike. Seed each market's LAL from its own customer list. The audience becomes more locally relevant and pairs naturally with per location retargeting.
Every active ad set currently runs a single ad. Move to three to four ads per ad set built around distinct concepts, not variations of the same image. This gives Meta something real to choose between and creates a fallback when a concept fatigues.
Running ABO exclusively locks budget where it was set. Add CBO in campaigns where the intent is to let Meta shift spend toward the ad sets that are working. Keep ABO where per audience budget floors are the point.
Stop reusing an identical broad audience across every location. Layer local interests, local lookalikes, and retargeting audiences so audience testing produces information that can act on.
Consolidate cases like the Greater North Atlanta four ad set setup where audiences are effectively identical. Isolate one testing variable per ad set so results can be read cleanly.
10 · The Account Ownership Question
Meta Ownership Question
Consistency and creative testing are the attention gap
As with Google, the individual builds are not broken. But the picture across locations shows inconsistent strategy, a mismatch between the KPI and the optimization event, no retargeting anywhere in the portfolio, and single ad ad sets that never generate real creative learning. These are attention and consistency problems more than they are craft problems, and they are worth raising directly with the vendor.