← Files JuicyLucy AdsARCHIVED FILE
skills/juicylucy/references/allocation.md
1.81 KB · Oct 3, 2026 · 06:35 UTC
# Allocation — method Values live in [`../allocation.json`](../allocation.json). ## The math, applied `languages per campaign = ceil(minimum ad sets / ad sets per language)`, per active campaign, summed for the batch. The worked table: 1 ad set/language → 5 languages · 2 → 3 · 3 → 2 · 4 → 2 · 5 → 1. Five per campaign is a floor — rounding up may yield six or more ad sets, and that is correct. Cover **every** campaign the user's campaign structure marks active for new ads. A user-supplied total that leaves an active campaign short is corrected during preflight and the corrected total presented — an active campaign is never silently omitted. ## Sources are fresh, always The campaign structure and the per-language performance figures come from wherever the brand's `ad-account.md` says they live, or from the conversation. Take a fresh copy immediately before selection. A snapshot from an earlier run, an old export, or memory of "how the campaigns are set up" is not a source. When the user has neither a structure nor performance figures, ask which languages to make rather than ranking from memory. ## Ranking and exclusion Rank candidates within their assigned campaign by meaningful conversion volume and cost efficiency **together**. Exclude under-delivered rows; never promote a language because a single conversion produced a flattering CPA. Exclude languages already used in the current dated batch; a historical folder alone does not disqualify a language when the task is to iterate on proven languages. ## Preflight Before creating subfolders, present the proposed allocation with evidence: campaign, language, results, spend, CPA, ad sets per language, total planned ad sets, rank, and exclusion rationale. Verify every active campaign meets the floor and every selected language belongs to its campaign.
SHA-256: 57c4831efee7930ba6241a894b868466abf3b88eef6367927aee7e8b7a93c6e7