MadSpend enables you to generate up to 3x the number of qualified leads with the same spend. 

Facebook optimizes for “website conversions” but "lowest cost" lead capture does not correlate to value. As a consequence most companies see their CPA increase dramatically as they scale their spend, no matter how narrow their audiences are.

With MadSpend, you can determine predicted value of each lead and bid more Facebook ad spend on higher-value leads, therefore reducing cost of good leads by 3x. 

Below is a documentation to get you started on MadSpend.

1. Technical Setup

Objective: To set up requirements in order to fire the Purchase events to Facebook

1a) Set up the MadKudu JS snippet on your website

Enabling MadKudu JS on your website will allow MadKudu to fire the Purchase event to the Facebook Pixel.

There are multiple ways to set up the MadKudu JS snippet on your website:

  1. Segment
  2. Google Tag Manager
  3. Manual setup on your website

Here is a detailed documentation on how to get set up.

1b) Connect your data with MadKudu

Connecting your data with MadKudu will help us set up your predicted value attribute to be sent to the Facebook Pixel.

The steps to do this are:

  1. Create an account on
  2. Navigate to the Integrations tab
  3. Switch on the data connector of your choice by following the instructions on the page

1c) Share list of conversion landing pages

Sharing a list of your conversion landing pages would allow MadKudu to set up the firing of the Purchase events to Facebook.

An example of a conversion landing page would be something like this:

1d) Assign MadKudu an analyst role on your ad account

Assigning MadKudu an analyst role on your ad account will help us understand your current Facebook setup, provide recommendations and measure MadSpend campaign performance.

The steps to do this are:

  1. Go to your Ad Account Settings in Ads Manager.
  2. Under Ad Account Roles, select Add People.
  3. Enter the name or email address of the person you want to give access to.
  4. Use the dropdown menu to choose their role and then click Confirm.

Success Gate: Check if the Purchase event is fired on the page to Facebook

Once the MadKudu team has shared that they've set up the firing of the MadSpend event to Facebook, you can double-confirm if this indeed true.

To do this QA on your own, you can:

  1. Inspect the console of your conversion landing pages on Chrome
  2. Navigate to the Network tab
  3. Search for Purchase in the search bar
  4. You should see the following attribute labelled cd(value)  - see example below

2. Facebook Setup

Objective: To set up your Facebook environment in order to activate the Highest Value bidding optimization within Facebook

2a) Set up (at least) one campaign to optimize for Purchase event

Setting up at least one campaign to optimize for Purchase event will help Facebook get to 50 distinct Conversion values which will allow the "highest value bidding" to be unlocked on Facebook. Note: this is an estimated number of conversion values required by Facebook to unlock that optimization strategy.

To do this, the recommended approach is to do the following:

  1. Create a duplicated version of the highest traffic-driving campaign with a Conversion objective ⇒ no changes made to the original campaign objectives
  2. Split the campaign budget by two and edit the two campaign budgets accordingly
  3. Name the second campaign <Original Campaign Name> [MadSpend]
  4. Set up the second campaign objective as Conversion
  5. Set up the ad-set level objective as Purchase

2b) Introduce MadKudu team to your Facebook account manager (if available)

This helps speed up the process of unlocking the highest value  bidding optimization strategy in Facebook.

If you do not have a Facebook account manager, you can inform the MadKudu team and they can share an alternative strategy to speed up the process of unlocking the highest value bidding option.

Success Gate: Check if "highest value bidding" strategy has been unlocked

Estimated benchmark time required to unlock highest value bidding:

  • If you optimize 1 campaign on Purchase that has an average of 20K impressions, and your conversion rate (from views to the conversion event) is about 1%, the estimated time needed to reach highest value bidding is about 7 days.

To confirm if "highest value bidding" strategy has been unlocked:

  1. Under the Campaign tab, scroll down to the Campaign Budget Optimization section
  2. Under the options for Campaign Bid Strategy, see whether there is an option for "Highest value or lowest cost"

3. Getting your campaigns ready

Objective: To set up your campaigns with MadSpend optimization with the goal of seeing how MadSpend is performing better than your current Conversion campaigns

3a) Select the campaign(s) to run the experiment on

It is recommended to select a campaign:

  • that is in your top five campaigns in terms of amount spent and volume of leads,
  • with ads that are pointing to sign-ups, installs or booking a demo => lead generation campaigns  

The MadKudu team will share a recommendation on which campaign to start the experiment with.

3b) Set up your campaign(s) 

Here are the guidelines to getting this set up:

(1) Name your campaign with "[MadSpend]" at the end => for ease of tracking

(2) On the Campaign-level settings, set your campaign objective to "Conversion"

(3) On the Campaign-level settings, set your campaign bid strategy to "Highest value or lowest cost"

(4) On the adset-level settings, set your Conversion event to "Purchase"

(5) On the adset-level settings, select "Value" as the optimization for ad delivery option

(6) On the ad-level settings, ensure the link(s) you are sending the ads to are being set up by MadKudu to fire purchase events from => To QA, you can run the success gate test from Phase #1 Technical Setup

(7) Ensure the UTMs have been set up for the ads in the MadSpend campaign. The recommended UTM parameters are as follows: 


Success Gate: Spend and purchase volume are stable after 1 week, and measure performance of the MadSpend campaigns

Did this answer your question?