Home Decor Brand

Premium Home Decoration eCommerce

Home & Decor

How We Scaled Through BFCM When Discounts Invalidated The Algorithm

Mid-November: Client announces 40-60% discounts. Problem? Smart Bidding learned conversion patterns at full price. Product X at $150 isn't the same as Product X at $75 to the algorithm-it's a completely different entity with zero conversion history. We had three weeks to build a scoring system, segmented campaign architecture, and real-time monitoring dashboard to guide the algorithm through chaos.

+119%
Ad Spend YoY
+284%
Revenue YoY
+7pp
ROAS Improvement
+89%
Conv. Rate

The Challenge

In mid-November, the client announced aggressive BFCM discounts: 40-60% off across major categories. New pricing tiers. Flash deals on specific products.

Great for driving revenue. Terrible for Google Ads Smart Bidding.

Why This Was a Problem

Smart Bidding isn't magic. It's pattern recognition from historical conversion data. The algorithm spends weeks learning:

  • Product X at $150 converts at 2.3% from this search term
  • Users in demographic Y buy this category on weekends
  • A $200 order from this traffic source has an 85% chance of not returning

Slash prices 50%? All that learning becomes worthless. Product X at $75 isn't the same product to the algorithm. It's a completely different entity with zero conversion history. The algorithm needs to re-learn from scratch. During a 4-day sale, there's no time.

We had 3 weeks to solve this.

Two Paths Forward

Path 1: The Google Way

Fewer campaigns. More products per campaign. More conversions per campaign means faster Smart Bidding learning. Let the algorithm optimize within campaigns.

Pros:
  • Simple and clean
  • Follows best practices
  • Less manual work
Cons:
  • Zero control over which products get budget
  • Can't prioritize high-margin products
  • Can't react quickly if categories tank
  • You're a passenger

Path 2: The Business-Context Way ✓

More campaigns, segmented by product performance labels we'd create. Fewer conversions per campaign. Manual seasonal adjustment tweaks during the sale. We control the throttle.

Pros:
  • Direct control over budget allocation
  • Can prioritize based on margins, inventory, strategic goals
  • Can react within minutes during the sale
Cons:
  • More complex
  • Splits conversions across campaigns
  • Requires constant monitoring

Why We Chose Path 2

"We'd rather have 80% of the algorithm's optimization potential but 100% control over WHERE it spends, than 100% of the algorithm's potential but 0% control over WHAT it prioritizes. During a sale where every hour matters, speed beats perfection."

Context matters: High AOV business with 15-25 conversions per day normally. Smart Bidding needs volume. We didn't have it. Waiting for Smart Bidding to "figure it out" could take weeks. We had 4 days.

The 7-Factor Product Scoring System

Blending Google Ads data with backend profit metrics to prioritize products by true business value

25%
#1
Margin After Discount
Post-sale profitability
20%
#2
Discount Size
Conversion impact
15%
#3
Historic Performance
Past BFCM success
15%
#4
POAS Performance
Profit over ad spend
10%
#5
Revenue Potential
Absolute profit
10%
#6
Upsell Potential
Cross-sell driver
5%
#7
Brand Popularity
Search volume
0-39
LOW SCORE
Minimal budget, higher tPOAS targets
40-79
HIGH POTENTIALS
Scale carefully, monitor closely
80-100
CASH COWS
Never miss an impression, max budget
💡 Why This Worked
Google Ads data alone shows ROAS but not margins, inventory levels, or strategic priorities. Client data alone shows margins but not real-time performance. Blended data = complete picture. We knew which products were performing (Google Ads), profitable (client margins), in stock (inventory system), and strategic (upsell potential).

Campaign Architecture: Evergreen + BFCM Layers

Separate campaigns = separate control levers during the sale

Evergreen Campaigns
Always Running • Baseline Business
Standard Shopping
Untouched
Budget: NormalCaptures baseline demand
Brand Search
Untouched
Budget: NormalCaptures baseline demand
Category Search
Untouched
Budget: NormalCaptures baseline demand
Performance Max
Untouched
Budget: NormalCaptures baseline demand
Protected Core Business
Kept running at normal budgets throughout BFCM to protect ongoing business and capture baseline demand.
🔥
BFCM Campaigns
Nov 29 - Dec 6 • Layered On Top
CASH COWS
+200%
Score: 80-100
Target: 200%+ POAS
HIGH POTENTIALS
+150%
Score: 50-79
Target: 150% POAS
LIQUIDATION
+100%
Score: Inventory
Target: 100% POAS
LOW SCORE
+50%
Score: 0-49
Target: 250%+ POAS
LOSERS (Circuit Breaker)
PAUSED
Spend > 2× AOV AND POAS < 75%
Surgical Control
Each campaign = separate lever. Can boost, throttle, or pause specific segments in real-time without disrupting others.
10 min
Response Time
LOSERS circuit breaker paused underperformers within 10 minutes
Minutes
Seasonal Adj Speed
Budget multipliers applied within minutes, not hours/days
2-4 hrs
Check Frequency
Real-time monitoring enabled quick adjustments all weekend

💡 Why Segmentation Mattered

On Cyber Monday, when HIGH POTENTIALS (functional items) started outperforming CASH COWS (decorative items), we could shift seasonal adjustments in minutes. In a unified campaign? Impossible - you're stuck with whatever the algorithm prioritizes. You can't build a new campaign mid-sale (Google takes hours to approve). Pre-built structure gave us options when chaos hit.

The Critical Moment: Black Friday 10 AM

Black Friday morning hit. Traffic spiked 3x higher than we predicted-not 3x vs. normal, but 3x vs. our elevated forecast. By 10 AM, HIGH PRIORITY campaigns were burning through daily budgets. At this rate, budgets would be exhausted by 11 AM.

The dashboard showed immediate ROAS at 70% of target. Spend accelerating 2.5x faster than forecast.

The typical response would be to pull back budgets. We did something different.

The 6-Hour Conversion Delay Problem

Google Ads reports conversions 4-8 hours after they happen. At 10 AM Black Friday, we were flying blind.

What We Saw at 10 AM
Reporting Lag Crisis
Google Ads Dashboard
70%of target ROAS
Immediate ROAS (incomplete data)
Spend accelerating 2.5x faster than forecast
ROAS appears to be underperforming badly
Natural response: Pull back budgets immediately
🚨 The Trap
Conversions from 8-10 AM just haven't reported yet. Making decisions on incomplete data could kill the best-performing window.
Multi-Source Validation
Backend Data + Maturation Curves
Backend Database (Real-time)
+60%higher revenue
Orders not yet in Google Ads
Historical Maturation Pattern
+18%avg. improvement
Median delay: 5.8 hours
Predicted Mature ROAS
82-88%of target
70% × 1.18 = 82.6% predicted
✓ The Decision
Increased seasonal adjustments +30% on CASH COWS. Actual 4 PM mature ROAS: 88% (beat prediction).

💡 What Made This Work

Understanding Google Ads mechanics (conversion reporting delay) + having backend validation infrastructure ready = making the right decision at the critical moment. Without this multi-source analysis, the natural response would have been to pull back budgets and miss the day's best performance window.

Day-by-Day Performance: Black Friday - Cyber Monday

Investment grew +119%, revenue grew +284%. The gap is profitability.

Nov 28
Thu
Ad Spend YoY
+80%
Revenue YoY
+150%
Nov 29
Fri
PEAK DAY
Ad Spend YoY
+140%
Revenue YoY
+320%
Nov 30
Sat
Ad Spend YoY
+110%
Revenue YoY
+240%
Dec 1
Sun
Ad Spend YoY
+95%
Revenue YoY
+210%
Dec 2
Mon
PEAK DAY
Ad Spend YoY
+135%
Revenue YoY
+350%
+119%
4-Day Total Ad Spend
+284%
4-Day Total Revenue
+7pp
ROAS Improvement
+89%
Conversion Rate

💡 The Insight

We didn't just spend 2.84x more to get 2.84x more revenue. We spent +119% more and generated +284% more revenue. The delta is profitability - product-level optimization through scoring and segmentation working exactly as designed.

The Results

When the sale ended and the dust settled, the numbers told a clear story: strategic scale with profitability improvement, not just revenue growth.

+284%
Revenue Growth (YOY)

2.84x the revenue of previous year's BFCM. But we didn't just spend 2.84x more-we spent +119% more and generated +284% more revenue. The gap is profitability.

+119%
Ad Spend Investment (YOY)

Strategic scale, not wasteful scale. Every incremental dollar had a clear path to profitable revenue. Traffic was 3x higher than forecast. Pre-built campaign structure gave us confidence to lean in.

+7pp
ROAS Improvement

At this scale, 7 percentage points is massive in absolute dollars. Proves we scaled profitably, not just scaled. Anyone can dump money into Google Ads during BFCM. Scaling while IMPROVING ROAS? That's hard.

+89%
Conversion Rate

Same traffic quality. Same website. Different product mix (scored and segmented by priority). Product selection matters.

What Happened Post-Sale

The Wind-Down Strategy

Most advertisers waste thousands post-sale because Smart Bidding doesn't know the sale is over. The algorithm sees 4 days of massive conversion volume and concludes "this is the new normal." Without active wind-down, Google Ads keeps spending aggressively Tuesday-Thursday, chasing conversions that aren't there.

Tuesday, Dec 3, 8:30 AM: Applied negative seasonal adjustments (-60%) immediately post-sale. Budgets dropped to 40% of sale levels instantly. PMAX bid tweaks restricted aggressive remarketing. Saved thousands in wasted post-sale spend. Wind-down is as critical as ramp-up.

Key Takeaways

1

Blend Data Sources for Complete Visibility

Google Ads data alone shows ROAS but not margins, inventory levels, or strategic priorities. Client data alone shows margins but not real-time performance. Blended data = complete picture. We knew which products were performing (Google Ads), profitable (client margins), in stock (inventory system), and strategic (upsell potential).

2

Campaign Segmentation = Real-Time Control

Separate campaigns = separate levers you can pull in real time. On Cyber Monday, when HIGH POTENTIALS (functional items) started outperforming CASH COWS (decorative items), we shifted seasonal adjustments in minutes. The LOSERS circuit breaker paused underperformers within 10 minutes. In a unified campaign? Impossible.

3

Understanding Platform Mechanics Matters

Google Ads reports conversions 4-8 hours after they happen. At 10 AM Black Friday, immediate ROAS showed 70% of target. Backend data showed revenue 60% higher than Google Ads reported. Historical maturation analysis predicted 82-88% mature ROAS (actual: 88%). That understanding of conversion delay mechanics informed the decision to maintain and increase budgets.

4

Seasonal Adjustments Give You Speed

Budget/bid changes work on monthly averages (slow). Seasonal adjustments work within minutes. During a 4-day sale where every hour matters, speed is everything. We tweaked adjustments every 2-4 hours. Within 10 minutes, we would see spend adjust. That responsiveness let us ride the wave instead of getting crushed.

5

Plan the Wind-Down as Carefully as the Ramp-Up

Smart Bidding does not know the sale is over. Without active wind-down, Google Ads keeps spending aggressively post-sale chasing conversions that are not there. We applied negative seasonal adjustments (-60%) immediately, increased PMAX target ROAS 15% to restrict Display remarketing. Saved thousands in wasted post-sale spend.

HD

"We were skeptical: 'Too many campaigns will confuse Google.' But when Black Friday hit and traffic spiked 3x higher than predicted, those segmented campaigns became the control knobs that let us steer. Denis could boost CASH COWS, throttle LIQUIDATION, trigger the LOSERS circuit breaker-all without disrupting our core business. The backend data analysis at 10 AM when ROAS looked terrible? That decision alone made the day."

E-commerce Director
Home Decor Brand

Ready for Your Best BFCM Yet?

Whether you're planning for next BFCM or need help with your current Google Ads strategy, let's talk about how multi-source data scoring and strategic segmentation can transform your performance.