PettiNest: coordinating the build, launch and optimization of a Meta catalog campaign.
A marketing coordination case study showing how I translated a Meta campaign objective into an executable project: building the Asana operating structure, configuring the catalog campaign, coordinating supporting functions, launching with QA and managing KPI-led optimization after go-live.



PettiNest: a US-based e-commerce brand for dog enrichment.
PettiNest sells dog enrichment, interactive feeding, foraging and treat-based products through its Shopify store. The business operates as a direct-to-consumer e-commerce brand in the United States, with a 15-product catalog spanning lick mats, snuffle mats and interactive dog toys.
The Shopify catalog feeds Meta Commerce Manager, creating the product foundation for the catalog sales campaign and allowing the campaign to promote products directly from the store catalog.
What success looks like, defined before any spend.
Campaign targets govern the campaign as a whole. Because the two ad sets reach very different audiences, each also has its own threshold: a cold audience is not expected to convert like people who already visited the store. Every result later in this case study is read against both tables.
Campaign-level targets
| Metric | What it measures | Campaign target |
|---|---|---|
| CPA (cost per purchase) | Total spend divided by purchases, across both ad sets | ≤ $6.50 |
| ROAS (return on ad spend) | Purchase value divided by spend, across both ad sets | ≥ 3.0x (at a ~$20 order value, a $6.50 CPA is about 3.1x) |
| CTR (outbound link) | Share of impressions that click through to the site | 1.0% to 1.5% (flag below 0.8%) |
| Add-to-cart rate | Adds to cart as a share of outbound link clicks | ~10% |
| Checkout rate | Checkouts initiated as a share of adds to cart | ~50% |
| Daily budget | Starting budget; Meta treats ABO budgets as daily averages, so actual spend varies | $100/day total ($50 per ad set) |
Ad-set thresholds
| Metric | AS01 · Broad prospecting (US 25-54) | AS02 · Retargeting (website visitors, 30 days) |
|---|---|---|
| CPA | ≤ $8.00 | ≤ $5.50 |
| ROAS | ≥ 2.5x | ≥ 3.6x |
| Add-to-cart rate | ~8% | ~18% |
| Checkout rate | ~45% | ~60% |
Marketing coordination overview
The campaign was managed as an end-to-end marketing project, with campaign ownership sitting inside a structured Asana workflow.
One owner coordinating the campaign from brief to optimization.
The core responsibility was not simply operating Meta Ads Manager. I received the campaign brief from the Marketing Manager, translated the objective and KPI framework into an executable project plan, created the Asana project and task structure, integrated Shopify with Meta Commerce Manager, validated tracking and customer journey events, built the campaign, created the supporting asset layer, completed QA and managed the project through launch and optimization.
Campaign & project execution
Asana setup, campaign structure, catalog selection, budget configuration, optimization settings, launch readiness, KPI reviews and follow-through.
Marketing Manager + specialist input
The Marketing Manager provided the campaign brief, target audience direction and KPI framework. E-commerce and creative functions were available for specialist input, while I retained ownership of execution.
Coordinate → verify → act
Issues are identified in the workflow, assigned to the right function when necessary, verified after resolution and then carried into the next campaign stage.
- 1Project management. Built and maintained the Asana project, stages, tasks, dates, ownership and dependencies.
- 2Campaign operations. Managed the Meta campaign objective, catalog, ad-set structure, budget and optimization configuration.
- 3Cross-functional coordination. Worked from the Marketing Manager’s brief and coordinated with e-commerce and creative functions when specialist input was useful, while retaining ownership of the campaign and delivery.
- 4Performance management. Used defined review points to decide whether to maintain, adjust, refresh or scale the campaign.
A clear campaign structure, budget and optimization framework.
The PettiNest catalog remains the foundation of the campaign. The setup below defines the working launch configuration and gives the project measurable decision points after go-live.
Campaign configuration
- Campaign name
- PETTINest_SALES_ABO_US_2026Q3
- Objective
- Sales · Website purchases
- Campaign type
- Sales / Catalog Sales
- Budget model
- ABO (Ad Set Budget Optimization)
- Daily budget
- $50/day per ad set · $100/day total campaign budget
- Bid strategy
- Highest Volume / Lowest Cost
- Optimization event
- Purchase
- Customer acquisition
- Get conversions from all audiences
- Location
- United States
- Catalog
- 15-product PettiNest catalog
- Product categories
- Lick Mats, Snuffle Mats and Interactive Dog Toys
- Commerce setup
- Shopify → Meta Commerce Manager → Meta catalog
- Structure
- 1 campaign · 2 ad sets · 10 ads
- Creative allocation
- 5 ads per ad set
- Placements
- Advantage+ placements
Ad-set logic
PETTINest_AS01_BROAD_US_25-54_PURCHASE
Broad US · United States · Age 25 to 54 · All genders · No detailed targeting · Advantage+ placements · Purchase optimization · Get conversions from all audiences · $50/day.
Ads:
PETTINest_AS01_AD01_STATIC_COMFORT_V01
PETTINest_AS01_AD02_STATIC_CONVENIENCE_V01
PETTINest_AS01_AD03_STATIC_PRODUCT_BENEFIT_V01
PETTINest_AS01_AD04_STATIC_LIFESTYLE_V01
PETTINest_AS01_AD05_STATIC_VALUE_V01
PETTINest_AS02_RETARGET_WEB30D_US_PURCHASE
Website visitors · 30 days · United States · All genders · Advantage+ placements · Purchase optimization · Get conversions from all audiences · $50/day.
Ads:
PETTINest_AS02_AD01_STATIC_COMFORT_V01
PETTINest_AS02_AD02_STATIC_CONVENIENCE_V01
PETTINest_AS02_AD03_STATIC_PRODUCT_BENEFIT_V01
PETTINest_AS02_AD04_STATIC_LIFESTYLE_V01
PETTINest_AS02_AD05_STATIC_VALUE_V01
ABO assigns $50/day to each audience path, separating broad prospecting from website retargeting so delivery and performance can be monitored by audience intent without unnecessarily fragmenting the campaign.
Meta campaign brief · PettiNest · Catalog Sales Campaign Shopify → Commerce Manager → Meta
- Business objective
- Generate purchases from the PettiNest product catalog while maintaining efficient paid-media spend.The campaign is designed around purchase volume and efficiency, with funnel and product-level signals used to diagnose performance.
- Brief owner
- Marketing ManagerCampaign direction, target audience and KPI framework provided at project kickoff.
- Catalog
- 15 productsLick Mats, Snuffle Mats and Interactive Dog Toys.
- Working budget*
- $100/day total · $50/day per ad setWorking launch budget for the portfolio scenario, split evenly across the two ABO ad sets. ABO budgets are daily averages, so actual spend varies day to day. *Assumptions set before launch.
- Working guardrails*
- ROAS ≥ 3.0x · CPA ≤ $6.50Used as decision thresholds for the case-study operating model. At a ~$20 order value the CPA threshold is the tighter of the two.
- Product range
- $15.52 to $24.88Approximate USD range represented in the source catalog.
- Operating window
- 30 daysLaunch followed by structured monitoring, optimization and scaling decisions.
- Core asset
- Meta catalogProduct information flows from Shopify through Commerce Manager.
The campaign setup visual supports the configuration described above: campaign name, objective, ABO budget model, ad-set structure, audience settings, catalog, optimization and placements.

Asana project management
The Asana board is the operational backbone that turns the campaign plan into sequenced, owned work.
From campaign brief to a six-stage execution workflow.
I created the Asana project from the ground up and organized the campaign into six operating stages. Each stage represents a distinct phase of the campaign lifecycle, while the tasks inside it carry the dates, ownership, status and dependencies needed to keep execution controlled.
Catalog & Product Data
Review Shopify products, pricing, information, imagery, availability and the Meta catalog sync.
Tracking & Measurement
Validate the customer journey and key events such as AddToCart, InitiateCheckout and Purchase.
Creative
Manage the supporting asset layer around the catalog campaign, including the 10 AI-assisted static variants created for additional creative testing. The catalog remains the primary campaign asset source.
Campaign Build
Configure campaign objective, catalog, ad sets, budget, optimization, audience strategy and destination URLs.
Launch & QA
Run final campaign, catalog, tracking and URL checks, secure approval and launch.
Optimization & Scaling
Review KPIs, product and audience performance, make controlled changes and determine when to scale or test again.
The board demonstrates the project-management layer behind the campaign: the six operating stages, task ownership, dates, status and progression from setup to optimization. I created and maintained the project structure from the initial brief through post-launch management.

Supplemental creative layer
The catalog is still the campaign foundation. Supporting static assets add controlled creative variation without changing the campaign type.
Catalog-led campaign, supported by 10 AI-assisted static variants.
The PettiNest campaign remains catalog-driven: Shopify product data feeds Commerce Manager and supplies the product catalog. To strengthen the testing framework, I also created 10 AI-assisted static creative variants as supplemental campaign assets. They are not the primary product source and they do not turn the project into a traditional creative-production workflow.
15-product catalog
Product information, pricing, availability and product imagery remain connected to the Shopify → Commerce Manager workflow.
10 static creative variants
AI-assisted visual variants created to introduce additional creative angles and provide a controlled refresh option when performance signals justify it.
Created within campaign operations
I created the supplemental assets and managed where they fit into the campaign testing and optimization workflow.
Click any creative to zoom.










Launch QA & campaign control
QA is the control layer between configuration, launch and every material campaign change.
Nothing moves forward without a verification point.
Before launch, I verified the catalog, campaign configuration, tracking, product destinations and final readiness. The same principle applies after optimization: implement the approved change, verify it, monitor the response and document what happens next.
Final pre-launch checks covered campaign readiness, catalog setup and tracking. Meta Events Manager was also used to verify that key customer events, including initiated checkouts, were being captured correctly.


Optimization & decision framework
The campaign is given enough time to produce a useful signal before changes are made.
Optimize from evidence, not from one weak day.
The operating model uses staged reviews so that technical problems are separated from performance problems. Creative changes, budget changes and strategy changes are made only after the relevant signal has been reviewed.
Delivery & tracking check
Confirm delivery, spend, tracking and catalog behaviour. Fix setup issues before judging performance.
Early signal review
Review CTR, ATC, checkout signals, spend and product activity. Avoid unnecessary changes.
First KPI decision
Compare purchase efficiency against the working guardrails and review ad-set and product performance.
Refresh, adjust or scale
Refresh weak supporting assets, adjust budget or strategy, and scale clear winners where the evidence supports it.
A supplemental asset is not replaced because of one poor day. If performance remains below the working guardrails for roughly three consecutive days after sufficient delivery, or engagement shows a sustained decline, the asset is flagged for replacement. The target operating window is to make the decision by the first 7 to 14 day review and deploy a replacement within approximately 3 to 5 days (at the day 14 review the replacements were deployed the same day).
Full KPI benchmark set
ROAS and CPA are the headline guardrails, but a catalog campaign running 10 supplemental static creatives across two audience types needs a funnel underneath them, so a miss can be diagnosed rather than guessed at.
ROAS · target ≥3.0x
Headline efficiency guardrail across the full campaign.
CPA · target ≤$6.50
Headline cost guardrail across the full campaign.
CTR · target 1.0 to 1.5%
Applies to the 10 supplemental static creatives. Below 0.8% flags a creative for review.
Add-to-cart rate · target ~10% of link clicks
Expected to split by audience: ~18% on retargeting versus ~8% on broad prospecting.
Checkout initiation · target ~50% of add-to-carts
Expected to split by audience: ~60% on retargeting versus ~45% on broad prospecting.
Guardrail relationship
At an expected order value of about $20, a CPA of $6.50 works out to roughly 3.1x ROAS, so the 3.0x ROAS target and the $6.50 CPA target describe almost the same threshold. Retargeting is expected to carry the overall average while broad prospecting runs below it.
ROAS below 2.5x*
Review product mix, ad-set performance, spend allocation and the supporting creative layer before changing several variables at once.
CPA above $6.50*
Check conversion rate, product economics, audience quality and budget concentration before reducing or reallocating spend.
CTR below 0.8% / engagement decline
Review the supplemental static assets and product presentation while keeping the catalog feed intact unless product data is the issue.
Day 14 results & scaling decision
The first KPI review against the guardrails set at launch.
What happened at the first KPI decision point.
By day 14, the campaign had spent $1,410 across both ad sets ($683 on prospecting, $727 on retargeting) against the $50/day per-ad-set launch budget. ABO delivery ran slightly under budget on prospecting and over on retargeting, following where it found conversions. Overall performance landed at 2.84x ROAS and $7.20 cost per purchase. Both campaign targets were missed (ROAS below 3.0x, CPA above $6.50), and the ad-set breakdown showed the miss was concentrated in broad prospecting (1.90x ROAS, $11.02 CPA) while retargeting was already inside its ad-set thresholds (3.73x vs 3.6x or better, $5.42 vs $5.50 or lower). The review therefore looked for the weakest creatives inside each ad set before touching budgets or audiences.
A per-creative review found 3 of the 5 static variants in each ad set clearing both guardrails, while the other 2 were driving the CPA overage. Those underperforming creatives were switched off the same day the results were reviewed and replaced with new angles (see the creative optimization block below). Rather than shifting budget immediately, each ad set held at $50/day for a few more days to let delivery settle after the change, then budgets were stepped up in roughly 20% increments every 5 days ($50 to $60 to $72 to $86 per ad set, three steps). The $100/day total in the launch brief was the starting budget; the scaling ceiling was $100/day per ad set. Because Meta treats ABO budgets as daily averages, actual daily spend varied around these levels.
Ad-set level results at the two-week mark, the data point behind the kill/scale decision above.

Creative optimization at the day 14 decision point.
At the day 14 KPI review, two underperforming creatives in each ad set were identified for replacement. The products stayed the same, while the creative strategy changed through a new hook, a clearer audience pain point, revised messaging and a different visual treatment. The replacements were introduced immediately after the review so delivery could be evaluated against the same campaign structure.

.jpg)
Creative brief: Hook shifted from a seasonal cooling benefit to the owner’s cleanup problem. The new opening, “Tired of the mess?”, establishes a practical pain point before the headline reinforces convenience with “Zero Scrubbing. Just Fun.” Supporting copy emphasizes dishwasher-safe cleanup, fewer sticky surfaces and a simple fill, freeze and forget routine. The strategic shift is from seasonal product enjoyment to everyday household convenience.

.jpg)
Creative brief: Hook shifted from general enrichment and longer-lasting activity to a specific behavioral pain point. “A bored dog is a destructive dog” introduces the problem, while “Give Their Brain a Job” positions the product as a constructive outlet. The supporting messages focus on destructive chewing, high-energy breeds and turning snack time into a challenge. The strategic shift is from product-led enrichment to problem-solution messaging.

.jpg)
Creative brief: Hook shifted from a bath-time utility message to a stress-management use case. The new opening, “Vet visits don’t have to be scary”, creates an immediate emotional context, followed by “Calm in Under 60 Seconds.” Supporting copy expands the use case to separation anxiety, grooming and vet visits. The strategic shift is from functional grooming assistance to calming support for stressful moments.

.jpg)
Creative brief: Hook shifted from fast-eater control to mealtime variety. “Picky eater? Not anymore” identifies a more specific audience problem, while “Two Flavors. Double the Fun” makes the dual-sided design the central creative reason to believe. Supporting copy emphasizes rotating treats and spreads while retaining the slower-feeding benefit. The strategic shift is from a single functional benefit to product versatility and novelty.
Where it landed by day 30.
With the two underperforming creatives in each ad set replaced and the surviving three scaled through three budget steps, combined spend reached $3,496 across the two ad sets by day 30. Retargeting improved from 3.73x to 3.90x ROAS over the same stretch, while prospecting climbed from 1.90x to 2.31x, still below its own 2.5x ad-set threshold, expected for a broad top-of-funnel audience feeding the retargeting pool it’s judged alongside. Overall across both ad sets, the campaign closed at 3.12x ROAS and $6.47 CPA, back inside both guardrails.
Cumulative ad-set level results at the end of the 30-day operating window.

Day 14 overall: 2.84x ROAS · $7.20 CPA. Both campaign targets were missed, which triggered the creative kill. Day 30 overall: 3.12x ROAS · $6.47 CPA. Both guardrails were met after replacing the 2 weakest creatives per ad set and scaling budget behind the 3 survivors and the new variants.
Ad set performance data: day 14
Ad set level · Jul 21 to Aug 3, 2026 · both ad sets on Purchase optimization.
| Ad set | Amount spent | Purchases | Cost per purchase | Purchases conversion value | Purchase ROAS | Adds to cart | Cost per add to cart | Outbound clicks | Checkouts initiated |
|---|---|---|---|---|---|---|---|---|---|
| PETTINest_AS01_BROAD_US_25-54_PURCHASE | $683.42 | 62 | $11.02 | $1,296.18 | 1.90 | 163 | $4.19 | 1,812 | 74 |
| PETTINest_AS02_RETARGET_WEB30D_US_PURCHASE | $726.85 | 134 | $5.42 | $2,712.44 | 3.73 | 321 | $2.26 | 1,776 | 192 |
| Results from 2 ad sets | $1,410.27 | 196 | $7.20 | $4,008.62 | 2.84 | 484 | $2.91 | 3,588 | 266 |
Ad set performance data: day 30
Ad set level · Jul 21 to Aug 19, 2026 · both ad sets on Purchase optimization.
| Ad set | Amount spent | Purchases | Cost per purchase | Purchases conversion value | Purchase ROAS | Adds to cart | Cost per add to cart | Outbound clicks | Checkouts initiated |
|---|---|---|---|---|---|---|---|---|---|
| PETTINest_AS01_BROAD_US_25-54_PURCHASE | $1,714.36 | 199 | $8.61 | $3,968.55 | 2.31 | 497 | $3.45 | 4,873 | 233 |
| PETTINest_AS02_RETARGET_WEB30D_US_PURCHASE | $1,781.53 | 341 | $5.22 | $6,948.17 | 3.90 | 806 | $2.21 | 4,418 | 487 |
| Results from 2 ad sets | $3,495.89 | 540 | $6.47 | $10,916.72 | 3.12 | 1,303 | $2.68 | 9,291 | 720 |
Funnel diagnosis by ad set: day 14 vs day 30
Rates are calculated from the Ads Manager columns for each review window. Add CTR, CPM and frequency columns to extend this view.
| Metric | Prospecting D14 | Prospecting D30 | Retargeting D14 | Retargeting D30 |
|---|---|---|---|---|
| Amount spent | $683.42 | $1,714.36 | $726.85 | $1,781.53 |
| Purchases | 62 | 199 | 134 | 341 |
| Outbound clicks | 1,812 | 4,873 | 1,776 | 4,418 |
| Add-to-cart rate (of clicks) | 9.0% | 10.2% | 18.1% | 18.2% |
| Checkout rate (of add-to-carts) | 45.4% | 46.9% | 59.8% | 60.4% |
| Purchase rate (of checkouts) | 83.8% | 85.4% | 69.8% | 70.0% |
| Cost per add-to-cart | $4.19 | $3.45 | $2.26 | $2.21 |
| Cost per purchase | $11.02 | $8.61 | $5.42 | $5.22 |
| Purchase ROAS | 1.90x | 2.31x | 3.73x | 3.90x |
The progression
The project moves from planning to execution, then from execution into performance management.
A marketing coordination workflow built around campaign ownership.
The PettiNest project demonstrates a complete operating model: establish the objective, structure the work in Asana, validate the inputs, build the Meta campaign, launch with QA and then manage performance through defined review points.
Plan the campaign
- Asana
- Project structure
- Catalog
- 15 products
- Meta
- 2 ad sets
- Budget
- $50/day per ad set · $100/day total*
Control first. The project establishes ownership, sequence, campaign settings and QA requirements before launch.
Manage the campaign
- KPI
- 7 / 14-day reviews
- Assets
- 10 supporting variants
- QA
- Change control
- Scale
- Evidence-led decisions
Continuous. Performance signals determine whether the next action is to maintain, refresh, reallocate, test or scale.
Marketing coordination with real campaign ownership.
The value of the project is the connection between planning, platform execution, specialist coordination and performance management.
Project ownership
Created the Asana project, stages, tasks, objectives, dates and operating structure from start to finish.
Meta campaign management
Translated the objective into campaign, ad-set, catalog, budget, placement and optimization settings.
Catalog operations
Managed the Shopify → Commerce Manager product-data workflow and kept catalog readiness connected to campaign execution.
KPI-led optimization
Used defined review windows and decision thresholds to determine when to adjust budget, product focus, strategy or supplemental assets.
Supporting creative execution
Created 10 AI-assisted static variants as a supplemental testing layer around the catalog campaign. These assets were designed to add creative variation without replacing the product catalog as the campaign foundation.
Cross-functional coordination
Worked from the Marketing Manager’s brief and coordinated with e-commerce and creative functions when specialist input was useful, while retaining ownership of the campaign, tracking, QA, execution and optimization.
QA & process control
Maintained structured checks before launch and after material campaign changes.
Optimization & scaling
Connected campaign performance to documented actions, follow-up testing and scaling decisions.
The visuals support the operating story instead of carrying it alone.
Each screenshot is tied to a specific stage of the project: planning, catalog readiness, project management, campaign configuration, optimization and QA.
Objective · structure · budget · KPIs
Product source · 15 products

Catalog sync · availability

Stages · tasks · coordination

Campaign · ad sets · budget · catalog

Coordinate the project. Own the campaign. Optimize from evidence.
The PettiNest case study shows a complete marketing coordination model: build the operating structure, configure the Meta campaign, coordinate specialist inputs, launch with control and use performance data to decide what happens next.
Discuss a Project →