AlgoLift Intelligent Automation (IA) is driven by several algorithmic components:
pLTV Models Using historical purchase and engagement data, these models forecast lifetime value (LTV) across different horizons at the user-level to provide predicted ROAS across any cohort
Robust pLTV estimation Aggregating raw pLTV on smaller cohorts (e.g. a specific sub-publisher) can produce noisy estimates due to the low sample size. We use separate sampling & estimation strategies to produce expected pLTV for future acquisitions at these low levels of granularity
Market Models These models use historical campaign spend data to inform predicted future campaign performance
Budget Pacer Given a monthly budget and spend data to date, the budget pacer calculates required spend for the following day and inputs it to the budget optimizer
Bid/Budget Optimizer For a portfolio of campaigns & Ad Sets possibly spanning multiple networks and apps, the budget optimizer makes changes to bids and budgets for the following day in order to maximize predicted ROAS for a given budget or to hit a specific predicted ROAS target
Roles and Responsibilities
|Budgets & Targets||Provide monthly budget / ROAS expectations||Recommend realistic budget / ROAS outcomes|
|Campaign Setup||Create campaigns with assets||Share setup best practices based on budget / ROAS expectations. Automatically ingest new campaigns.|
|Testing||Test new ad formats, campaign types, creative, geos etc||Provide analytical support on testing|
|Optimization||Respond to creative/targeting refresh alerts||Daily campaign optimization|
|Optimization - Pausing||Daily campaign optimization includes automatically pausing on poorly performed campaigns|
|Reporting||Review and respond to weekly KPI report||Daily report on stale creatives/campaigns requiring targeting/creative refresh|
|Reporting||Weekly report on changes & performance by email. Daily changes available at AlgoLift.com|
|Communication||Provide updates on any changes to business goals||Weekly call/on-site to discuss results/issues|
Facebook, Google & Apple Search User Guide
Constraints & Targets:
The AlgoLift IA platform is designed to work with minimal client input, so that the client can focus on launching effective campaigns into the portfolio, managing creatives and testing new campaign types. In the ideal scenario, a client will provide a flexible budget free of constraints for our system to optimize against a target.
- AlgoLift can adhere to network or platform-level spend constraints, but it is better to let our system learn how to best distribute spend across networks, platforms and campaigns for maximum predicted ROAS. The fewer constraints, the better.
- AlgoLift can accommodate target daily budgets or monthly budgets. If budgets are given as monthly, spend will not necessarily be evenly paced uniformly throughout the month.
- AlgoLift can optimize toward a spend goal (and maximize pROAS) or a pROAS goal (and maximize spend). If a spend goal and pROAS goal are both provided, the system will spend as much as possible within the limit given acceptable pROAS. The following 3 scenarios are examples of input constraints to the AlgoLift system:
|Objective: 100% d90 pROAS||Objective: Maximize d365 pROAS||Objective: Maximize d365 pROAS|
|Constraints: $3000/day maximum spend||Constraints: Monthly budget of $1.5M||Constraints: $5000/day budget. $2500/day minimum on iOS-targeting campaigns.|
- Keep non-UA campaigns (retargeting) and non AlgoLift-managed campaigns in separate accounts to those AlgoLift is managing
- Monthly budgets will be met within +/- 10%. If spend is projected to finish outside this margin, the client will be notified
- To ensure a smooth transition between months, the client should provide the monthly budget one week prior to the beginning of every month, as well as any changes to the targets
Launching New Campaigns
We suggest the following when launching new campaigns into an AlgoLift-managed portfolio:
- Do not make drastic changes to daily spend by adding or pausing large numbers of campaigns at once. As a rule of thumb, ensure that newly launched campaigns don’t collectively increase daily spend by more than 10% at a time with their first day’s budget
- If a set of new campaigns would exceed this, we’d recommend their launch be staggered
- AlgoLift will send a notification when a new campaign is detected and included into the IA portfolio
- Campaigns are automatically ingested once they've been detected. If you need to exclude a campaign from the AlgoLift managed portfolio, please add the following string to the end of the new campaign name:
Automated Campaign Management
- AlgoLift will automate all bid and budget changes on live campaigns. Any manual bid or budget change made by a client to an AlgoLift-managed campaign is likely to be overwritten automatically by the system later
Avoid making changes to campaign settings that may render historical data inaccurate:
- Changing targeting (country, platform, age group, etc)
- Changing campaign optimization goal
- Changing bid type or adding additional network constraints (e.g. min ROAS floor)
- Changing delivery (accelerated vs standard)
- If a client wishes to change these targeting or optimization settings, it is better to launch new campaign with the updated settings instead
- Clients are encouraged to refresh creatives on live campaigns where necessary or when new creatives are available. AlgoLift will also provide creative refresh recommendations.
- Clients should prefix all campaign names for ingestion into Algolift IA with “algolift_”. eg: “algolift_ios_geo_audience_vo”
- Campaigns excluded from management will not be counted toward daily or monthly spend budgets. Clients should provide AlgoLift with a budget that only applies to AlgoLift-managed spend
- Clients should never delete keywords/adsets/campaigns. Even if there is a need to relocate keywords / adsets into new campaigns, the old ones should be paused with notitication AlgoLift. Deleting assets causes issues with reporting and downstream QA processes.
Facebook / Google Campaign Pausing
- AlgoLift will automatically pause poor performing Facebook Ad Sets and Google campaigns based on portfolio objectives including performance, pacing and spend goals
- Clients will receive an email notification when a campaign is paused
Additional constraints and best practices on Facebook, Google
The following is an exhaustive list of constraints imposed by AlgoLift on each set of bid and budget changes.
- Campaign-level minimum daily budgets
- 10x target CPA / 50x target CPI for Google
- Typically between $100-$200 for FB (manual input configured by AlgoLift)
- Max change to campaign/Ad Set budgets
- Google AC: 20% in either direction. No changes within first 14 days.
- Facebook: 40% unless change is < $300. No changes within first 4 days.
- 20% max change to campaign/Ad Set bids
The above constraints are hard and must be met. The following are soft constraints; we try to meet them as closely as possible without violating the above hard constraints:
- Portfolio maximum spend
- Platform/Network spend constraints
- Portfolio pROAS target
Pausing criteria - In order to be eligible for pausing, a campaign / Ad Set must have at least 4 days of performance data available (7 days for Google UAC campaigns) OR at least 50 attributed installs. These criteria are not static and may update in future releases.
Automated management of Facebook campaigns using Campaign Budget Optimization (CBO)
Facebook CBO campaigns have multiple adsets but a single campaign budget which Facebook distributes between adsets based on the campaign's optimization goal. In this case, AlgoLift will adjust the campaign budget based on performance compared to the rest of the client's portfolio. In addition, to allow Facebook to properly optimize spend between adsets, we'll allocate a minimum daily budget that scales with the number of adsets in the campaign. For example, if the minimum budget we'd allocate to an adset is $200 daily in a particular portfolio, then the minimum we'd allocate to a CBO campaign with 3 adsets is $600 daily. We recommend limiting the number of adsets in a single CBO campaign to 4 or less, and splitting up campaigns to achieve this if necessary.
Ad Network Best Practices
Facebook Ads Best Practices
- Set either daily budgets per Ad Set, or daily campaign budgets if using CBO
- For best results maintain a 1:1 Ad Set-to-campaign structure to allow AlgoLift to control Ad Set-level spend explicitly
- Do not set lifetime budgets for campaigns
- Do not set bid caps, cost caps or minimum ROAS floors
- Launch campaigns with a budget of at least 100x the expected CPI in order for both Facebook and our algorithms to get enough volume to learn
Google Ads Best Practices
- Google strongly recommends a 10x minimum ratio between Target CPA bids and daily campaign budgets, and a 50x minimum between * Target CPI bids and daily budgets. In line with this recommendation, AlgoLift will not set daily campaign budgets below these minimums. Clients should launch campaigns in accordance with these guidelines.
- Clients should launch campaigns with Target CPA bids 1.5-2x the actual target. It is optimal to start too high rather than too low
- Do not make changes to Target CPA bids after the campaign launch. AlgoLift will make all necessary bid adjustments
Apple Search Ads Best Practices
- Avoid competition between keywords across campaigns. For example: Do not run the same keyword in a campaign targeting 18-65 year old males in the US and also in a campaign targeting 18-35 year olds of both genders in the US.
- Set initial target CPT bids to 1.5-2x what the actual target is. It’s better to start high and let the optimizer bring bids down if necessary, than to start too low and get no volume.
- Organize keywords into campaigns separated by geo and by keyword category
SDK ad network User Guide
AlgoLift automates campaign optimization on leading SDK networks including Unity, Ironsource, Applovin, Vungle. AlgoLift generates bids to be applied to subpub / geo combinations to hit a desired payback window.
SDK ad network sub-publisher (subpub) bidding
AlgoLift generates sub-publisher / geo CPI bids leveraging the following approaches:
- LTV Projection: Aggregating pLTV by subpub provides a base bid for subpub bids. However, it does produce noisy estimates and sample sizes are too low for this to be an effective strategy by itself
- Hierarchical Modeling: AlgoLift uses a separate bidding algorithm to produce subpub bids based on the pLTV from installs through that subpub backed up by prior data from larger groupings (e.g. geo, channel). For subpubs with a low number of installs, these robust estimates can look much different than the “raw” average pLTV
- Optimal Bid Exploration: i.e. the ability to gather more data on newer publishers to find potentially untapped value, is also considered in the bidding algorithm
- Desired Spend Recoup: CPI bids are set based on a client-specified % recoup at a defined horizon
Making changes on SDK ad networks
- AlgoLift collects 7 days of data before making campaign and subpub bid changes to channels with no recent historical data
- AlgoLift collects 3 days of data for new campaigns and subpubs on channels where recent historical data exists
- AlgoLift makes changes to sub-publisher/geo bids 2/3 times a week dependent on the ad network
- AlgoLift will blacklist poor performing publishers by lowering the CPI bid to a point that it won't generate installs
AlgoLift offers whitelisting/blacklisting on select subpublishers by assessing historic subpub bidding and performance. While ongoing whitelisting/blacklisting can be executed by AlgoLift on most networks, client cooperation is required in some cases. For networks that AlgoLift cannot directly apply whitelisting/blacklisting (ironSource), AlgoLift will provide a list of app IDs for the client whitelist upon request.
|Network||Managed by AlgoLift|
SDK ad network Best Practices
- AlgoLift recommends grouping geos and subpubs with a similar LTV into their own campaign: e.g T1 geos, WL.
- Campaign budgets should be capped at the max daily budget for the channel
- We suggest launching campaigns with bids at 1.5x to 2x the pLTV for that geo and platform averaged over the last 30 days of cohorts. The goal is to get enough early volume to be able to start optimizing bids quickly.
ironSource Best Practices
- ironSource recommends typically a starting budget of $500/day. Budget recommendations may maintain at the level, or increase depending on the advertiser's goal and whether they are focused on short term scale or long term performance.
- Whitelist during campaign launch is not recommended.
- Per advice, AlgoLift will drop the bid to an appropriate amount instead of blacklisting.
- Run 4 creatives per campaign (iS campaigns are split by video and playable)
- Upload creatives once per week, depending on scale (if there is a decent backlog of creatives to test)
- Open up to top T1 geos during launch