How to normalize performance for "walled gardens"

What are “walled gardens:” this refers to a closed platform, such as a social networking mobile app, that aims to keep a user in-app for a longer period of time.

Why this matters: because of the closed platform, walled gardens do not allow third parties to track views. Traditionally, view based touchpoints might be tracked by an impression pixel or by the vendor sharing view-based touchpoints with a third party directly. This is blocked by walled gardens.

What are some examples of walled gardens: this most often applies to social apps, including

  • Google
  • Amazon

Synthetically modeling view-based touchpoints for Facebook
To account for Facebook not sharing impressions directly with Rockerbox, Rockerbox probabilistically models view-based conversions using Facebook’s ad-serving logs and your on-site traffic. This means that the full impact of Facebook (from both views and clicks) is reflected in Rockerbox.

How to measure the true impact of walled gardens

To accurately compare performance of one vendor to another (ex Facebook to Snapchat) you will need to account for both views and clicks for both platforms.

See below for instructions on how to deduce the full impact (views + clicks) of a walled garden

  1. Take the ratio of in-platform views : in-platform clicks for a given time period (ex 1 week)
  2. Pull the number of conversions from Rockerbox for the same vendor over the same time period. You can pull this from the UI under Analytics > Reports and filtering for the given vendor and date range.
  3. Use these value to populate the below formula. This will output a proxy for de-duplicated view-based conversions, which you can combine with Rockerbox-reported clicks to see comprehensive de-duplicated click and view based conversions.
  1. Additional metrics:
  • Total de-duplicated conversions attributed to the channel = de-duplicated click-based conversions + de-duplicated view-based conversions
  • Total adjusted CPA = spend / total de-duplicated conversions attributed to the channel


How did we do?