This document provides an overview of how Bergzeit, an online mountain gear retailer, implemented bidding based on gross profit in Google Ads. It discusses:
1. Calculating gross profit in 6 steps, including net order value, margins, return rates, fulfillment costs, and attribution.
2. Uploading the calculated gross profit data into Google Ads using direct conversion import from BigQuery, with "prescaling" to avoid bidding issues.
3. Lessons learned from the project, including the need for various experts, extensive testing, and adjustments for seasonality and other factors.
2. What To Expect from this Session
1. Why and when gross profit is better than revenue
3. What Google’s latest changes mean for bidding
5. Our project results and lessons learned
2. How to calculate gross profit in 3 to 6 steps
4. How to upload gross profit data into Google Ads
3. Your Speakers: Kira and Chris
Digital Marketer
Tech nerd
Climber
90ies 2008 2013 2020
Dad of 2
● Mountain enthusiast,
most likely biking or hiking
● Passionate about finding
new insights from data
4. Bergzeit: Combining Love for Mountains & Data
Online Store for Mountain Gear
122 M Revenue in Financial Year 20/21
14 Countries & 5 Languages
Commerce. Content. Guided Tours
6 data experts in Team A&O. Hiring!
5. Caution Nerd Alert: Lots of Data Ahead!
Specific data structures
Implementation tips
No code
8. What Can We Do? Influence Gross Profit
3. Margins
0. Ad Costs (Bidding)
2. Returns
4. Shipping Cost
1. Coupons
9. Gross Profit
Order Value
Easy to implement
Integrates with GA
No bottomline metric
Closer to Business Value
Complex Data Product
Is it Worth It? Order Value vs Gross Profit
Long Transition Period
Delay in Calculation
Custom Reporting
10. Why Did We Start The Project?
Limited BI Resources Data & Tech-Savvy Team
Company Strategy
“Be Profitable”
13. 3. Return Value
1. Coupon Cost
6. Customer Value*
2. Product Cost
5. Channel Value*
Attribution
Avg Return Rate
Margin
How We Calculate Gross Profit in 3 - 6 Steps
Handling Fee
Net Order Value
Net Product Revenue
Coupon Value
* still testing
4. Fulfillment Cost*
Customer
14. 1. Calculate Net Order Value with Coupon Effects
# date transaction_id sku product_value_net coupon_value coupon_value_per_sku
1 2021-01-03 123 100-01 41.97 5 1.51
2 200-04 96.93 5 3.49
3 shipping 0.00
SUM Σ
Make sure Product Revenue is 1) Net and 2) Coupon-Discounted!
15. 2. How to Get Margins: Avoid Empty Values!
date sku price_net price_wholesale margin_day
2021-01-03 100-01 41.97 25.96 (0.38)
sku price_wholesale
100-01 25.96
avg_price_wholesale avg_margin_fallback
26.95 0.33
Fallback 1: Period Lookback
Fallback 2: Get Average
16. 2. Data Loaders
2. Margin Data into DWH: Two Import Options
Margin Feed DWH
(BigQuery)
1. Cloud Function
Reach out to get sample code for option 1!
17. 3. Calculate Return Rates with 1 Year of Data
brand category order_value_1yr return_value_1yr avg_return_rate
... ... ... ... ...
Scarpa Shoes_Climbing 125.000 € 45.000 € 36%
Petzl Gear_Harnesses 65.000 € 12.000 € 18%
Evolv Clothing_Shirts 35.000 € 15.000 € 42%
Use long date range
Min. volume per row (e.g. 50k €)
Avoid too granular return rates
category order_value_1yr return_value_1yr avg_return_rate
Shoes_Climbing 25.550.000 € 10.202.000 € 40%
Gear_Harnesses 31.050.000 € 4.657.500 € 15%
Clothing_Shirts 41.000.000 € 15.580.000 € 38%
Fallback: Non Brand
Don’t overthink it!
18. 4. How to Calculate Fulfillment Cost
country shipping_fee return_fee transaction_id return_probability return_fee_est overall_fee_est
DE 5.50 € 3.50 € Cart items for 123:
1 pair of shoes
1 gear item
Classification Model *
p = 0.5
(* beyond scope)
1.75 € 7.25 €
AT 7.50 € 4.50 €
Don’t overpunish new markets with high fulfillment cost!
PREVIEW(!)
19. 3. Return Value
1. Coupon Cost
6. Customer Value*
2. Product Cost
5. Channel Value*
Attribution
Avg Return Rate
Margin
[RECAP] Gross Profit Steps 4 of 6 Completed
Handling Fee
Customer
Net Order Value
Net Product Revenue
Coupon Value
* still testing
4. Fulfillment Cost*
20. 5. How to Calculate Attributed Value
# date transaction_id order_value_net channel channel_weight order_value_weighted
1 2021-01-03 123 138.90 SEO Non-Home 0.45 62.50 €
2 2021-01-03 123 138.90 SEA
Non-Brand
0.55 76.39 €
PREVIEW(!)
Adjust by attributed channel weight
Requires attribution model in production
with path-level weights (e.g. Markov)
21. 6. Including Customer Value
# date transaction_
id
customer_id order_value_net is_new is_new_factor (customer_value_18m)
1 2021-01-
03
123 567890 139.90 true 1.2 (1.187)
2 2021-01-
03
124 234580 52.90 false 0.8 (0.8)
1) New/Returning or 2) Time Valuation Factor? Start Easy!
PREVIEW(!)
22. Putting It All Together Step by Step
If Cost-of-Sale is e.g. 10%, this only leaves 6,4% gross profit!
23. 1 to 2 Completed. What about the Tracking News?
1. Why and when gross profit is better than revenue
3. What Google’s latest changes mean for bidding
2. How to calculate gross profit in 3 to 6 steps
24. The Two Main Google Ads Tracking Changes
Google to stop 3party tracking
TargetROAS now MaxValue w/ optional ROAS
Bid more aggressively
New concepts: FLoC, Fledge /TurtleDove
25. How To Save Ads Conversions Without Consent
Landingpage
ClientSide
Tracking
Conversion
Page
Conversion
Service
gclid / orderId
Ads
Import
clientId
(user-based)
Ads-Redirect
Server
gclid
(click-based)
Client
Session
Storage
1. With Consent
2. NO Consent
26. 1 to 3 Completed. Uploading is Next!
1. Why and when gross profit is better than revenue
3. What Google’s latest changes mean for bidding
5. Our project results and lessons learned
2. How to calculate gross profit in 3 to 6 steps
4. How to upload gross profit data into Google Ads
28. Common Ways To Get Conversions Into Google Ads
Conversion Tracking
GTM can be used
real time
Conversion Import
easy setup
orderId or gclid needed
time delay
29. [RECAP] Our Profit Calculation - Let’s Import This!
We want to import the Gross Profit Data into Google Ads!
30. What You Need To Model The Data In BigQuery
DWH
(BigQuery)
Margin & Return
Data
GA Raw Data
Output Data
SQL skills
31. Bring Gross Profit Data To The Right Format
Order ID Conversion
Name
Adjustment
Time
Adjustment
Type
Adjusted
Value
Adjusted
Value
Currency
123 Sale_GrossProfit 2021-03-10
07:45:13 +0100
RESTATE 41.80 EUR
Output Data
Order Id
Gross Profit
33. 1. Direct Upload
Output SQL to CSV
Our Choice: 1. Direct Conversion Import
2. API Client 3. Connector
Easy setup
no extra costs
No error
notifications
Managed pipeline
Easy notifications
extra cost
Custom integration
Hard to setup
34. Google Ads CSV output
Our Data Pipeline From Raw Data To Google Ads
target
ROAS
Conversion Import
OrderID, Profit
GA
transaction
GTM BigQuery
prescaling
35. Use “Prescaling” To Avoid Bidding Confusion
“Prescale” value with avg. Gross Profit to 45%
Adjust the conversion value in GTM BEFORE it is passed to GAds
order id conversion value
123 138.90 €
order id prescaled_conversion value
123 62.51 €
36. Overwrite Prescaled With Actual Profit Value
order id conversion_value
123 138.90 €
order id prescaled_value
123 62.51 €
“Prescaling” reduces bidding irritations due to delayed import
order id gross_profit_value
123 41.80 €
37. Our GTM Setup To Test Gross Profit Import
Include in
‘Conversions’
2 Conv. Actions Lookup by
hostname
Not in
‘Conversions’
Test
Conversion
Label
Conversion
Label
Avg. Gross
Profit
38. Tip: Structure Your Conversion Action Setup
Plan your test accounts in advance
Conversion
Action
GTM Tag Included in Conversion
Column
Trigger
Sale Conversion No IT Thank you
Sale_GrossProfit Conversion Gross Profit IT Yes IT Thank you
Map your conversion actions to tag
Evaluate setup with your Tag Manager Architect
41. Our Rollout was Full of Challenges: Brexit & co
NL:
Disapproval
UK:
Brexit
Jan. 21
Nov. 20
Sep. 20
Gross Profit
KUR - 51,5%
IT:
Live
AT:
Collecting Data
Mar. 21
42. Our Gross Profit Dashboard
2 Weeks Learning Period with eCPC
Impact of Promotions on Gross Profit visible
43. Learnings: Skepticism, Tips & Team Setup
Team Setup
Challenge your data Bidding Tips
Google Ads Specialist
Data Analyst / Engineer
Tag Manager Architect
Data Collection Phase
Seasonal Adjustments
Source Data Owner
Other Ecom Teams
Google Team
44. Your Key Takeaways in Summary
1. Make an informed decision on profit bidding Yes/No
2. Know all necessary data transformation steps
4. Get constant feedback from other experts and refine
3. Get the right experts on board and test heavily!
45. Thanks for Your Time.
Looking Forward to Questions!
Kira Nolte | Christopher Gutknecht | Bergzeit
46. Tip: Use Exclusions and Seasonal adjustments
46
Seasonal Adjustments
Data Exclusions
excludes historical
data from bidding
ignores anomalies
applicable on account
and mcc level
optimise bids for
upcoming events
for short terms
recommended
applicable on account
and mcc level