{"schema":"ai-blocks-role/1","id":"set-your-cac-limit-and-test-what-ads-really-add","name":"Customer acquisition cost limit and ad-lift test planner","summary":"Share ad spend, first-order data and profit assumptions. Get a buyer-cost limit, return checks, an ad-lift test plan and later budget options.","area":"marketing","family":{"id":"plan-ad-tests","name":"Plan what ads to test"},"lead":"set-your-cac-limit-and-test-what-ads-really-add","featured":false,"contextKind":"brand","deliverables":["A one-page daily sheet with new-customer return, blended CAC and new-customer profit, and the formulas","A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is","A return ladder for each platform and a trust level for each channel, with a score out of 100","A lift test plan with the test type, matched regions, spend change, dates and a cut, hold or scale rule","A ranking for the next $10,000 and a stop point for each channel"],"inputs":["Shopify orders with a new or returning flag, and net revenue after returns","Ad spend by day and by channel","Product cost per product, and fulfilment cost per order","Gross profit per customer at 30, 90 and 180 days (optional, but it makes the limit safer)","Sales by region for 6 to 12 months, for the lift test"],"opening":{"give":["Ad spend by day and by channel","Product cost per product, and fulfilment cost per order","Gross profit per customer at 30, 90 and 180 days (optional, but it makes the limit safer)"],"get":["A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is","A return ladder for each platform and a trust level for each channel, with a score out of 100","A lift test plan with the test type, matched regions, spend change, dates and a cut, hold or scale rule","A ranking for the next $10,000 and a stop point for each channel"]},"helpfulInputs":[],"fit":["You spend on several channels, the platforms claim more than your store sees, and you need one limit.","Your cost to win a customer keeps rising and you do not know if you can keep scaling.","You want to know how many of one channel's sales it really caused."],"limits":["You run one channel and have no order export: use the New-customer profit dashboard builder on its own.","You only want to know if a payback time is safe: use the CAC payback checker on its own.","You only want to compare platform numbers with your store: use the Ad return evidence checker on its own."],"tools":["Google Sheets: Daily rows and plain formulas are easy to build, share and check there.","Shopify: Its order export gives the new or returning flag, and cost per item feeds live margin.","Any good chat AI: It writes the formulas and checks them against a sample week.","Any good chat AI: It needs only your numbers and a clear table. Check one month by hand first.","Shopify: Its cohort and customer reports give you first order and repeat order counts by month.","Any good chat AI: Any chat AI can run the ladder and the score. Check the store base by hand.","Meta Ads Manager: Lets you compare attribution settings and break results down by new, engaged and existing audiences.","Shopify: Gives new-customer revenue and orders, and a cohort report for your own repeat data.","A post-purchase survey app: Collects where buyers say they first heard of you, so you can compare it with platform data.","Any good chat AI: Any chat AI can plan the test and do the sums. Have an analyst check the region match.","Meta Ads Manager: Runs conversion lift tests inside the platform on one campaign.","A geo-testing vendor or analyst: Builds the matched regions and checks the match. Doing it by hand in a sheet often gives a false answer.","Any good chat AI: The ranking is arithmetic and reasoning on numbers you paste, so any current chat AI can do it.","Meta Ads Manager: Its audience breakdown shows your CPM and frequency on existing customers, and it runs lift studies.","GA4: Gives a second view of new-customer revenue to set beside the platform reports."],"method":["Download the handoff pack. It's a zip with HANDOFF.md and the 5 skill files in the order they run: New-customer profit dashboard builder, CAC payback checker, Platform ROAS reality check, Incrementality test planner and Next-dollar budget allocator.","Give the folder to Claude (in Claude Code, or as files in a Claude Project) and say \"Follow HANDOFF.md\".","Paste your order and ad exports. Check your product costs with your accountant first. Wrong costs give a wrong limit.","Pick the channel you doubt most. Pull its spend by week and region for the last 90 days.","Run the test for the planned weeks. Then pull spend and new-customer results by channel and bring them back."],"capabilities":[{"name":"Build the new-customer sheet","description":"Defines net revenue, MER, new-customer MER, blended CAC and profit once, writes the sheet formulas and lists the cost gaps to fix."},{"name":"Set your CAC limit","description":"Checks the first order, rates lifetime gross profit to CAC on a fixed window, and sets a target, a ceiling and a floor for CAC."},{"name":"Check the platform numbers","description":"Steps each platform's reported return down to new-customer return, and flags views, existing customers and sales that would have happened anyway."},{"name":"Plan the lift test","description":"Says whether to test at all, picks a platform lift study or a region test for your size, matches the regions and sets the dates, the cost and the cut, hold or scale rule."},{"name":"Split the next dollar","description":"Uses the test result to rank channels by new-customer revenue per extra dollar and finds the stop point for each."}],"expertise":{"principles":["Write for one named audience and one action. Each asset has a single job.","Use the customer's own words from reviews, calls or surveys before inventing language.","Every claim needs proof the business can show. Leave unproven claims out or mark them.","Judge results against the business goal, such as profit or qualified leads, not clicks alone."],"pitfalls":["Generic copy that could fit any brand.","Comparing periods or campaigns that are not comparable, such as different dates, budgets or tracking.","Calling a test winner before there is enough data."],"quality":["Each step passed its own checks, or the run stopped at the step that failed and says why.","The steps ran in order, and each one used the result of the one before.","Nothing was invented to fill a gap. Every gap is a MISSING: line.","Nothing was sent, published or paid for without a clear yes.","Each metric is defined once, and blended CAC is ad spend divided by new customers, not platform cost per sale.","The CAC limit names its window and never mixes 30, 90 and 180 day figures, with the first-order check and the window ratio both shown.","Every claim traces to the brand brain or supplied evidence."],"sources":{"learned":0,"curated":false,"method":6,"source":0,"area":"marketing"}},"workedExample":{"situation":"You spend on several channels, the platforms claim more than your store sees, and you need one limit.","task":"Share ad spend, first-order data and profit assumptions. Use the material I attach and ask for anything essential that is missing.","given":["Your store orders with a new or returning flag, and net revenue after returns","Your ad spend by day and by channel","Your product cost and fulfilment cost per order","Gross profit per customer at 30, 90 and 180 days (optional)","Your sales by region for 6 to 12 months, for the lift test"],"outputs":[{"name":"STEP 1: NEW-CUSTOMER SHEET","contains":"A daily sheet of new-customer return, blended CAC and profit, with definitions, formulas and cost gaps to fix."},{"name":"STEP 2: CAC LIMIT","contains":"A target, ceiling and floor for CAC, with payback time and a score out of 100."},{"name":"STEP 3: PLATFORM NUMBERS","contains":"A return ladder for each platform, the traps found and a trust level for each channel."},{"name":"STEP 4: LIFT TEST PLAN","contains":"The test type, matched regions, dates, cost, how to read the result and a cut, hold or scale rule."},{"name":"STEP 5: BUDGET SPLIT","contains":"A ranking of channels for the next $10,000, a stop point for each and a grade for the evidence."},{"name":"HAND-BACK SUMMARY","contains":"Each step's file, any step not run and why, and every missing item in one list."}]},"example":"Share ad spend, first-order data and profit assumptions. Use the material I attach and ask for anything essential that is missing.","functions":[{"name":"Customer acquisition cost limit and ad-lift test planner","description":"Share ad spend, first-order data and profit assumptions. Get a buyer-cost limit, return checks, an ad-lift test plan and later budget options.","method":"set-your-cac-limit-and-test-what-ads-really-add","when":["You spend on several channels, the platforms claim more than your store sees, and you need one limit.","Your cost to win a customer keeps rising and you do not know if you can keep scaling.","You want to know how many of one channel's sales it really caused."],"inputs":["Shopify orders with a new or returning flag, and net revenue after returns","Ad spend by day and by channel","Product cost per product, and fulfilment cost per order","Gross profit per customer at 30, 90 and 180 days (optional, but it makes the limit safer)","Sales by region for 6 to 12 months, for the lift test"],"deliverables":["A one-page daily sheet with new-customer return, blended CAC and new-customer profit, and the formulas","A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is","A return ladder for each platform and a trust level for each channel, with a score out of 100","A lift test plan with the test type, matched regions, spend change, dates and a cut, hold or scale rule","A ranking for the next $10,000 and a stop point for each channel"]},{"name":"New-customer profit dashboard builder","description":"Share Shopify orders, costs and ad spend. Get daily sales ratios, cost per new buyer and profit measures with gaps flagged.","method":"new-customer-profit-dashboard-builder","when":["Total revenue looks fine but ad spend keeps climbing.","You want one daily page a team can read in a minute.","Your product costs are not all tagged in Shopify and margin is a guess."],"inputs":["Shopify orders with a new or returning flag","Cost of goods per product","Ad spend by day","Net revenue after returns","Gross profit by cohort at 30, 90 and 180 days, if you have it (optional)"],"deliverables":["A one-page dashboard layout with sheet formulas","A daily headline row, each metric defined","A reading rule for each metric","The 180-day profit to CAC band","A list of cost gaps to fix in the store admin"]},{"name":"CAC payback checker","description":"Check your CAC payback: give it ad spend, margins and cohort profit. Get profit to CAC ratios, a scale, hold or fix call and a score out of 100.","method":"cac-payback-checker","when":["Ad spend is rising and you do not know if you can keep scaling.","You want a CAC number to give your media buyer.","You lose money on the first order on purpose and need to know how long payback takes."],"inputs":["CAC, average order value after refunds, product cost and fulfilment per order","Gross profit per customer at 30, 90 and 180 days","Lifetime orders from your oldest cohort","Product type (one-off, consumable or subscription)","Cash you can use to fund payback, and CPC and conversion rate (both optional)"],"deliverables":["Contribution per order and the first order ratio","The profit to CAC ratio on each window, with its band","A target, ceiling and floor CAC, and payback in days or months","Whether each new customer is more or less profitable than the last","A scale, hold or fix call and a score out of 100 for payback safety"]},{"name":"Ad return evidence checker","description":"Share ad reports and store totals. Get matched comparisons, evidence gaps and a custom review score, without a causal sales claim.","method":"platform-roas-reality-check","when":["Your platform ROAS looks great but your bank balance does not.","You are about to move budget between channels, or raise spend on the ad with the best ROAS.","A new channel looks weak while Meta suddenly looks better, and you wonder why."],"inputs":["Platform ROAS with its attribution setting, plus the same ROAS on 7-day click, for set dates","Store new-customer revenue, total ad spend and new-customer count for the same dates","The audience breakdown (new, engaged, existing) and spend by campaign type","Your top ads with ROAS, spend and frequency (optional)","Holdout test results, daily ROAS data or post-purchase survey answers (optional)"],"deliverables":["A comparison of reported measures, definitions, periods and missing coverage","A supported top-ad breakdown with audience and attribution limits","The evidence basis and next check for each proposed budget decision","A bounded custom checklist score with missing checks shown"]},{"name":"Incrementality test planner","description":"Plan an incrementality test for your ad channel. Get a test sized to your spend and regions, plus a cut, hold or scale rule to read it.","method":"incrementality-test-planner","when":["You spend on more than one channel and need to know where the next dollar earns most.","You doubt that a channel, such as branded search or an automated Google campaign, really earns what it reports.","A platform's number and your store's sales do not match, and the Platform ROAS reality check could not settle it."],"inputs":["The channel or campaign to test and its monthly spend","Sales by region for 6 to 12 months, with spend, new-customer revenue and new-customer orders","How much budget you can add or cut for the test, and how many weeks you have","The channel's ROAS now and your break-even ROAS","Your yearly revenue and where else you sell"],"deliverables":["A clear call on whether to test now, with a cheaper check if not","The test type, treatment and control regions with the reason, dates and spend change","The read-out formula, the noise band and a cut, hold or scale rule","The factor to apply to platform ROAS, and the mistakes to avoid"]},{"name":"Marketing budget allocation planner","description":"Share channel spend, new-customer sales and test results. Rank small budget changes by evidence, then set stop points and a fallback.","method":"next-dollar-budget-allocator","when":["You can add budget next month and are not sure which channel should get it.","One platform shows a great return and you suspect it is mostly claiming sales that were coming anyway.","Your product ads or retargeting hold most of the spend and the account feels like it is slowly declining."],"inputs":["Monthly spend by channel, and new-customer revenue by channel","Lift test or holdout results, if you have any (optional)","Which part of the funnel each campaign sits in, and spend by ad type (optional)","Your break-even return on new customers, and your weekly profit and loss (optional)"],"deliverables":["A ranking of where the next $10,000 goes, and what a $10,000 move between channels would do","A stop point for each channel","A test plan to measure the return on the next dollar","A rule for how much to put into brand content and how to judge it, if you want that shift","A fallback rule and a loss limit"]},{"name":"Brand profile builder","description":"Share your website. Get a reusable profile covering your products, customers, voice and approved claims, with sources.","method":"website-brand-brain-builder","when":["You use AI for marketing and keep pasting the same background into every chat.","You're briefing a new writer, designer or AI tool and want them working from facts you can stand behind.","Your facts are spread across your site, product sheets and old ads, and you can't tell which claims are proven."],"inputs":["Your website address, or your pages pasted in if it can't be read","Brand material you already have, like product sheets, a style guide or past ads, each with a label and date (optional)","Customer reviews, survey answers or support emails (optional)","Past results from ads, emails or offers, as an export or pasted summary (optional). If your AI is connected to an ad account or store, it reads it only with your say-so; that needs your own access, and some tools need a paid plan","Your next step, such as planning, writing or image work (optional)"],"deliverables":["A folder of eight plain files, from a start file for your AI to a claims list and a change log","A tag on every fact, and every claim marked approved, pending or banned","A two-sentence diagnosis of your biggest gap, and a list of what's missing and who can answer it","A short slice for your next step, if you name one"]},{"name":"John Caples","description":"Write headlines and plan a fair ad test through John Caples’s recorded approach. Lead with the reader’s gain and count replies by version.","method":"john-caples","when":["Write 20 headlines for one offer, sorted into self-interest, news and curiosity, ready to test","Find out why an ad, email or landing page gets seen but not answered","Plan a small, measured test of two appeals before you spend real money","Rewrite a clever headline so the reader sees what is in it for them","Turn a product benefit into a short before-and-after story a reader can picture","Pick the one appeal (save money, look good, feel safe) to lead with, and say why","Add a clear offer and a reason to reply now to any sales message","Read a set of test results and decide what to keep, drop and test next"],"inputs":["Your task or question","Your facts, numbers or draft (optional; it asks once if they matter)","A role for them, such as \"my investor\" (optional)"],"deliverables":["Your problem worked on the way John Caples would: their questions, their method, their push-back","The answer or the work, in John Caples's voice, using their ideas by name","Anything that goes beyond their public record, marked","One suggested next step"]}],"resources":[{"slug":"set-your-cac-limit-and-test-what-ads-really-add","name":"Customer acquisition cost limit and ad-lift test planner","summary":"Share ad spend, first-order data and profit assumptions. Get a buyer-cost limit, return checks, an ad-lift test plan and later budget options.","task":"plan-ad-tests","kind":"workflow","path":"/workflows/set-your-cac-limit-and-test-what-ads-really-add","revision":"a56139b0e4d7bad57c0e7c89a5560281f4336cedaa972b887d78bb7ca33fdcf3","skillPath":"/skills/set-your-cac-limit-and-test-what-ads-really-add/SKILL.md","bundled":false,"onboarding":false},{"slug":"new-customer-profit-dashboard-builder","name":"New-customer profit dashboard builder","summary":"Share Shopify orders, costs and ad spend. Get daily sales ratios, cost per new buyer and profit measures with gaps flagged.","task":"track-numbers","kind":"skill","path":"/skills/new-customer-profit-dashboard-builder","revision":"abc5944b70d338212bfdcf9c9e4cba93969f3923734e4f1766b36458de9670c6","skillPath":"/skills/new-customer-profit-dashboard-builder/SKILL.md","bundled":true,"onboarding":false},{"slug":"cac-payback-checker","name":"CAC payback checker","summary":"Check your CAC payback: give it ad spend, margins and cohort profit. Get profit to CAC ratios, a scale, hold or fix call and a score out of 100.","task":"track-numbers","kind":"skill","path":"/skills/cac-payback-checker","revision":"347ddd15e63814479d34ff986b516f3c73f484466bd995831cd4683b6093f4b9","skillPath":"/skills/cac-payback-checker/SKILL.md","bundled":true,"onboarding":false},{"slug":"platform-roas-reality-check","name":"Ad return evidence checker","summary":"Share ad reports and store totals. Get matched comparisons, evidence gaps and a custom review score, without a causal sales claim.","task":"read-ad-results","kind":"skill","path":"/skills/platform-roas-reality-check","revision":"56f1db841f8387e051e64e17aaa31fb08d6c278fb73cf195bd6139ba73b21ad6","skillPath":"/skills/platform-roas-reality-check/SKILL.md","bundled":true,"onboarding":false},{"slug":"incrementality-test-planner","name":"Incrementality test planner","summary":"Plan an incrementality test for your ad channel. Get a test sized to your spend and regions, plus a cut, hold or scale rule to read it.","task":"track-numbers","kind":"skill","path":"/skills/incrementality-test-planner","revision":"24862d60cf379c34f2e67a13cc7926f9e8d778e1f566584907344b92eac45bed","skillPath":"/skills/incrementality-test-planner/SKILL.md","bundled":true,"onboarding":false},{"slug":"next-dollar-budget-allocator","name":"Marketing budget allocation planner","summary":"Share channel spend, new-customer sales and test results. Rank small budget changes by evidence, then set stop points and a fallback.","task":"launch-and-scale-ads","kind":"skill","path":"/skills/next-dollar-budget-allocator","revision":"e68800f257ea99896ade889bbd301c5b51bd77f3f01da79bac7db28b8659b7d3","skillPath":"/skills/next-dollar-budget-allocator/SKILL.md","bundled":true,"onboarding":false},{"slug":"website-brand-brain-builder","name":"Brand profile builder","summary":"Share your website. Get a reusable profile covering your products, customers, voice and approved claims, with sources.","task":"brand-file","kind":"skill","path":"/skills/website-brand-brain-builder","revision":"042890a85bd589f5a8f53020471862f123e6cbc5d53108c0a029e483c5889ec6","skillPath":"/skills/website-brand-brain-builder/SKILL.md","bundled":false,"onboarding":true},{"slug":"john-caples","name":"John Caples","summary":"Write headlines and plan a fair ad test through John Caples’s recorded approach. Lead with the reader’s gain and count replies by version.","task":"think-with-minds","kind":"mind","path":"/minds/john-caples","revision":"c3fdc7cebca760758560cc23980361d4fd096621cfff8c29d74102fed4895285","skillPath":"/skills/john-caples/SKILL.md","bundled":false,"onboarding":false,"reviewer":true}],"resourceCount":8,"sourceChecks":{"completeMethods":8,"referenceValidation":"PASS"},"catalogueHash":"3c3567ac2dbda7b2ac0cfaa8c93d8da3818f66bdadd51f18d8ff9051d77fc8f3","evaluation":{"status":"NOT_RUN","rubric":[{"id":"c1","criterion":"Delivers: A one-page daily sheet with new-customer return, blended CAC and new-customer profit, and the formulas"},{"id":"c2","criterion":"Delivers: A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is"},{"id":"c3","criterion":"Delivers: A return ladder for each platform and a trust level for each channel, with a score out of 100"},{"id":"c4","criterion":"Delivers: A lift test plan with the test type, matched regions, spend change, dates and a cut, hold or scale rule"},{"id":"c5","criterion":"Each step passed its own checks, or the run stopped at the step that failed and says why."},{"id":"c6","criterion":"The steps ran in order, and each one used the result of the one before."},{"id":"c7","criterion":"Nothing was invented to fill a gap. Every gap is a MISSING: line."},{"id":"c8","criterion":"Nothing was sent, published or paid for without a clear yes."},{"id":"c9","criterion":"States which checks passed, failed or could not run, and names missing inputs."}],"goldenTasks":[{"id":"g1","kind":"core","situation":"You spend on several channels, the platforms claim more than your store sees, and you need one limit.","expect":["A one-page daily sheet with new-customer return, blended CAC and new-customer profit, and the formulas","A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is","A return ladder for each platform and a trust level for each channel, with a score out of 100"]},{"id":"g2","kind":"core","situation":"Your cost to win a customer keeps rising and you do not know if you can keep scaling.","expect":["A one-page daily sheet with new-customer return, blended CAC and new-customer profit, and the formulas","A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is","A return ladder for each platform and a trust level for each channel, with a score out of 100"]},{"id":"g-missing","kind":"missing-input","situation":"The request leaves out: Shopify orders with a new or returning flag, and net revenue after returns","expect":["Names the missing input and asks for it, or finishes only the parts that do not depend on it."]}],"note":"These checks are defined but have not been run against a model yet."},"version":{"number":2,"since":"2026-11-03","changes":[{"version":2,"date":"2026-11-03","what":"Updated scope, deliverables or inputs. Source methods updated to new revisions."},{"version":1,"date":"2026-11-02","what":"First recorded version."}]},"learning":{"rules":[],"maturity":{"level":0,"name":"Not measured yet","runs":0,"score":0,"editRatio":0,"acceptance":0,"critical":0,"next":"10 reviewed jobs, average check score 70%+"}},"worker":{"schema":"ai-blocks-specialist-worker/1","id":"set-your-cac-limit-and-test-what-ads-really-add","name":"Customer acquisition cost limit and ad-lift test planner","interface":{"inputs":[{"type":"short_text","required":true}],"outputs":[{"type":"document","required":true}],"brief":"The current task in the workflow goal and supplied context.","handoff":"work/handoff.md indexes the actual native deliverables and checks. An index does not replace a requested implementation."},"identity":{"remit":"Share ad spend, first-order data and profit assumptions. Get a buyer-cost limit, return checks, an ad-lift test plan and later budget options.","capabilities":[{"name":"Build the new-customer sheet","description":"Defines net revenue, MER, new-customer MER, blended CAC and profit once, writes the sheet formulas and lists the cost gaps to fix."},{"name":"Set your CAC limit","description":"Checks the first order, rates lifetime gross profit to CAC on a fixed window, and sets a target, a ceiling and a floor for CAC."},{"name":"Check the platform numbers","description":"Steps each platform's reported return down to new-customer return, and flags views, existing customers and sales that would have happened anyway."},{"name":"Plan the lift test","description":"Says whether to test at all, picks a platform lift study or a region test for your size, matches the regions and sets the dates, the cost and the cut, hold or scale rule."},{"name":"Split the next dollar","description":"Uses the test result to rank channels by new-customer revenue per extra dollar and finds the stop point for each."}],"limits":["You run one channel and have no order export: use the New-customer profit dashboard builder on its own.","You only want to know if a payback time is safe: use the CAC payback checker on its own.","You only want to compare platform numbers with your store: use the Ad return evidence checker on its own."]},"intake":{"state":"REVIEW_REQUIRED","assessed_by":"execution-host","service_verified":false,"kind":"brand","requirement":"Inspect relevant context before strategy or production. Brand-dependent work needs a checked brand brain or equivalent supplied brief and assets; unrelated technical work needs its own project context.","method":"website-brand-brain-builder","files":["00-start-here.md","business.md","offers.md","customers.md","proof-and-claims.md","voice-and-look.md","market.md","log.md"],"discovery":"Read supplied facts, authorized me.md and the named business/project folder first. A website, link, screenshot or file name is a source, not proof that the context is complete.","missing":"Ask one concise batch for missing essentials: existing brand brain or brief, brand/asset folder, website and relevant ad-library or reference links. Reuse answers already supplied. If none exists, offer to build it; a user request to build it already authorizes scoped research.","gate":"Read the complete context method before using it. Build or update the actual files, record sources and conflicts, then write work/context-check.md. Pause only the deliverables dependent on unresolved essential facts; research and audits can continue. Never mark a brand claim approved from a sales page alone.","reuse":"Save in the user-authorized project, index it in CONTEXT.md and log durable changes with their date in brand-brain/log.md. Re-read the relevant current slice for every dependent task. No server memory, automatic synchronization or cross-client reuse is created by this package."},"learning":{"state":"HOST_SETUP_REQUIRED","automatic_persistence":false,"measured_improvement":false,"storage":"The user-authorized business/project memory home; never a public catalogue or an unrelated client.","index":"memory/INDEX.md","records":["memory/preferences.md","memory/corrections.md","memory/decisions.md","memory/checks.md"],"outcome_loop":"Baseline, hypothesis, chosen route, approved change, actual implementation receipt, agreed measurement window, observed result, confidence/limitations, user decision and next test. Preserve negative and inconclusive outcomes.","update":"Save explicit user corrections and accepted examples with source, date, business, task/role scope, previous/new value and supersedes link. Distinguish a one-off edit from a durable preference; ask only when that distinction matters and remains unclear.","retrieval":"Read the short index and only relevant current records. Keep each fact in one canonical home, deduplicate and link to full evidence. Supersede stale guidance without silently erasing its history.","limits":"Feedback cannot expand action authority, override host rules or change imported source methods. Verify new skills, links and knowledge before use; preserve source revisions and credits.","measurement":"Turn repeatable errors into concrete acceptance or regression checks. Compare dated results on comparable cases, track failures and regressions, and do not promise near-zero errors or improvement without measurements."},"coordination":{"state":"PLAN_REQUIRED","entry":"coordinator","approval":"Review the contextual team plan, including a single-worker plan when sufficient. Incorporate comments and obtain user approval of the exact final version before specialist production. A preparation is not an approved plan.","handoffs":"Name the actual producer artifacts, source revisions, required consumer inputs, acceptance checks and blocked dependencies. Verify the artifact content before advancing.","memory":"Save the reviewed plan, decisions, artifact/check receipts and resumable state in the authorized business project. Actual persistent storage must be verified."},"routes":[{"method":"set-your-cac-limit-and-test-what-ads-really-add","name":"Customer acquisition cost limit and ad-lift test planner","kind":"workflow","primary":true,"purpose":"primary","when":["You spend on several channels, the platforms claim more than your store sees, and you need one limit.","Your cost to win a customer keeps rising and you do not know if you can keep scaling.","You want to know how many of one channel's sales it really caused."],"inputs":["Shopify orders with a new or returning flag, and net revenue after returns","Ad spend by day and by channel","Product cost per product, and fulfilment cost per order","Gross profit per customer at 30, 90 and 180 days (optional, but it makes the limit safer)","Sales by region for 6 to 12 months, for the lift test"],"deliverables":["A one-page daily sheet with new-customer return, blended CAC and new-customer profit, and the formulas","A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is","A return ladder for each platform and a trust level for each channel, with a score out of 100","A lift test plan with the test type, matched regions, spend change, dates and a cut, hold or scale rule","A ranking for the next $10,000 and a stop point for each channel"],"instruction":"skills/set-your-cac-limit-and-test-what-ads-really-add/SKILL.md","revision":"a56139b0e4d7bad57c0e7c89a5560281f4336cedaa972b887d78bb7ca33fdcf3","invocation":"Read the complete procedure, required inputs, real step order and stop gates. Use it only when it covers the job."},{"method":"new-customer-profit-dashboard-builder","name":"New-customer profit dashboard builder","kind":"skill","primary":false,"purpose":"bundled","when":["Total revenue looks fine but ad spend keeps climbing.","You want one daily page a team can read in a minute.","Your product costs are not all tagged in Shopify and margin is a guess."],"inputs":["Shopify orders with a new or returning flag","Cost of goods per product","Ad spend by day","Net revenue after returns","Gross profit by cohort at 30, 90 and 180 days, if you have it (optional)"],"deliverables":["A one-page dashboard layout with sheet formulas","A daily headline row, each metric defined","A reading rule for each metric","The 180-day profit to CAC band","A list of cost gaps to fix in the store admin"],"instruction":"skills/new-customer-profit-dashboard-builder/SKILL.md","revision":"abc5944b70d338212bfdcf9c9e4cba93969f3923734e4f1766b36458de9670c6","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"cac-payback-checker","name":"CAC payback checker","kind":"skill","primary":false,"purpose":"bundled","when":["Ad spend is rising and you do not know if you can keep scaling.","You want a CAC number to give your media buyer.","You lose money on the first order on purpose and need to know how long payback takes."],"inputs":["CAC, average order value after refunds, product cost and fulfilment per order","Gross profit per customer at 30, 90 and 180 days","Lifetime orders from your oldest cohort","Product type (one-off, consumable or subscription)","Cash you can use to fund payback, and CPC and conversion rate (both optional)"],"deliverables":["Contribution per order and the first order ratio","The profit to CAC ratio on each window, with its band","A target, ceiling and floor CAC, and payback in days or months","Whether each new customer is more or less profitable than the last","A scale, hold or fix call and a score out of 100 for payback safety"],"instruction":"skills/cac-payback-checker/SKILL.md","revision":"347ddd15e63814479d34ff986b516f3c73f484466bd995831cd4683b6093f4b9","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"platform-roas-reality-check","name":"Ad return evidence checker","kind":"skill","primary":false,"purpose":"bundled","when":["Your platform ROAS looks great but your bank balance does not.","You are about to move budget between channels, or raise spend on the ad with the best ROAS.","A new channel looks weak while Meta suddenly looks better, and you wonder why."],"inputs":["Platform ROAS with its attribution setting, plus the same ROAS on 7-day click, for set dates","Store new-customer revenue, total ad spend and new-customer count for the same dates","The audience breakdown (new, engaged, existing) and spend by campaign type","Your top ads with ROAS, spend and frequency (optional)","Holdout test results, daily ROAS data or post-purchase survey answers (optional)"],"deliverables":["A comparison of reported measures, definitions, periods and missing coverage","A supported top-ad breakdown with audience and attribution limits","The evidence basis and next check for each proposed budget decision","A bounded custom checklist score with missing checks shown"],"instruction":"skills/platform-roas-reality-check/SKILL.md","revision":"56f1db841f8387e051e64e17aaa31fb08d6c278fb73cf195bd6139ba73b21ad6","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"incrementality-test-planner","name":"Incrementality test planner","kind":"skill","primary":false,"purpose":"bundled","when":["You spend on more than one channel and need to know where the next dollar earns most.","You doubt that a channel, such as branded search or an automated Google campaign, really earns what it reports.","A platform's number and your store's sales do not match, and the Platform ROAS reality check could not settle it."],"inputs":["The channel or campaign to test and its monthly spend","Sales by region for 6 to 12 months, with spend, new-customer revenue and new-customer orders","How much budget you can add or cut for the test, and how many weeks you have","The channel's ROAS now and your break-even ROAS","Your yearly revenue and where else you sell"],"deliverables":["A clear call on whether to test now, with a cheaper check if not","The test type, treatment and control regions with the reason, dates and spend change","The read-out formula, the noise band and a cut, hold or scale rule","The factor to apply to platform ROAS, and the mistakes to avoid"],"instruction":"skills/incrementality-test-planner/SKILL.md","revision":"24862d60cf379c34f2e67a13cc7926f9e8d778e1f566584907344b92eac45bed","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"next-dollar-budget-allocator","name":"Marketing budget allocation planner","kind":"skill","primary":false,"purpose":"bundled","when":["You can add budget next month and are not sure which channel should get it.","One platform shows a great return and you suspect it is mostly claiming sales that were coming anyway.","Your product ads or retargeting hold most of the spend and the account feels like it is slowly declining."],"inputs":["Monthly spend by channel, and new-customer revenue by channel","Lift test or holdout results, if you have any (optional)","Which part of the funnel each campaign sits in, and spend by ad type (optional)","Your break-even return on new customers, and your weekly profit and loss (optional)"],"deliverables":["A ranking of where the next $10,000 goes, and what a $10,000 move between channels would do","A stop point for each channel","A test plan to measure the return on the next dollar","A rule for how much to put into brand content and how to judge it, if you want that shift","A fallback rule and a loss limit"],"instruction":"skills/next-dollar-budget-allocator/SKILL.md","revision":"e68800f257ea99896ade889bbd301c5b51bd77f3f01da79bac7db28b8659b7d3","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"website-brand-brain-builder","name":"Brand profile builder","kind":"skill","primary":false,"purpose":"context","when":["You use AI for marketing and keep pasting the same background into every chat.","You're briefing a new writer, designer or AI tool and want them working from facts you can stand behind.","Your facts are spread across your site, product sheets and old ads, and you can't tell which claims are proven."],"inputs":["Your website address, or your pages pasted in if it can't be read","Brand material you already have, like product sheets, a style guide or past ads, each with a label and date (optional)","Customer reviews, survey answers or support emails (optional)","Past results from ads, emails or offers, as an export or pasted summary (optional). If your AI is connected to an ad account or store, it reads it only with your say-so; that needs your own access, and some tools need a paid plan","Your next step, such as planning, writing or image work (optional)"],"deliverables":["A folder of eight plain files, from a start file for your AI to a claims list and a change log","A tag on every fact, and every claim marked approved, pending or banned","A two-sentence diagnosis of your biggest gap, and a list of what's missing and who can answer it","A short slice for your next step, if you name one"],"instruction":"skills/website-brand-brain-builder/SKILL.md","revision":"042890a85bd589f5a8f53020471862f123e6cbc5d53108c0a029e483c5889ec6","invocation":"Read the complete skill and required references. Use it for the matching subtask, then check the stated deliverables."},{"method":"john-caples","name":"John Caples","kind":"mind","primary":false,"purpose":"review","when":["Write 20 headlines for one offer, sorted into self-interest, news and curiosity, ready to test","Find out why an ad, email or landing page gets seen but not answered","Plan a small, measured test of two appeals before you spend real money","Rewrite a clever headline so the reader sees what is in it for them","Turn a product benefit into a short before-and-after story a reader can picture","Pick the one appeal (save money, look good, feel safe) to lead with, and say why","Add a clear offer and a reason to reply now to any sales message","Read a set of test results and decide what to keep, drop and test next"],"inputs":["Your task or question","Your facts, numbers or draft (optional; it asks once if they matter)","A role for them, such as \"my investor\" (optional)"],"deliverables":["Your problem worked on the way John Caples would: their questions, their method, their push-back","The answer or the work, in John Caples's voice, using their ideas by name","Anything that goes beyond their public record, marked","One suggested next step"],"instruction":"skills/john-caples/SKILL.md","revision":"c3fdc7cebca760758560cc23980361d4fd096621cfff8c29d74102fed4895285","invocation":"Read the mind file. Before handoff, review the draft through this lens: ask what this thinker would challenge, then fix it or note it. Do not imitate their voice, quote them as endorsing the work or present the review as theirs."}],"connections":[{"name":"Google Sheets: Daily rows and plain formulas are easy to build, share and check there.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Shopify: Its order export gives the new or returning flag, and cost per item feeds live margin.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Any good chat AI: It writes the formulas and checks them against a sample week.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Any good chat AI: It needs only your numbers and a clear table. Check one month by hand first.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Shopify: Its cohort and customer reports give you first order and repeat order counts by month.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Any good chat AI: Any chat AI can run the ladder and the score. Check the store base by hand.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Meta Ads Manager: Lets you compare attribution settings and break results down by new, engaged and existing audiences.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Shopify: Gives new-customer revenue and orders, and a cohort report for your own repeat data.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"A post-purchase survey app: Collects where buyers say they first heard of you, so you can compare it with platform data.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Any good chat AI: Any chat AI can plan the test and do the sums. Have an analyst check the region match.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Meta Ads Manager: Runs conversion lift tests inside the platform on one campaign.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"A geo-testing vendor or analyst: Builds the matched regions and checks the match. Doing it by hand in a sheet often gives a false answer.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Any good chat AI: The ranking is arithmetic and reasoning on numbers you paste, so any current chat AI can do it.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"Meta Ads Manager: Its audience breakdown shows your CPM and frequency on existing customers, and it runs lift studies.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."},{"name":"GA4: Gives a second view of new-customer revenue to set beside the platform reports.","status":"NOT_VERIFIED","when":"When an active method needs this capability.","setup":"Use an authorized host connection, local tool or supplied export. Check read access first; never infer access from this list."}],"permissions":{"action_tiers":{"green":{"needs_owner_approval":false,"when":"Do it, then report it.","actions":["Read the files and exports the user supplied.","Read reports and settings in the tools from CONNECTIONS.md, read-only, once access is checked.","Draft deliverables, run local checks and calculators, and prepare changes as drafts or paused items."]},"yellow":{"needs_owner_approval":true,"when":"None by default. Once the owner writes a limit in PERMISSIONS.md, act inside it and tell the owner the same day.","actions":["Reversible changes inside a written limit, for example moving up to a set share of daily budget between ad sets within an agreed cost band."]},"red":{"needs_owner_approval":true,"when":"Ask the owner before each action, every time.","actions":["Publish, send or post anything.","Spend money or raise a budget.","Delete or overwrite live data.","Use a claim the owner has not approved.","Change anything live in a tool from CONNECTIONS.md."]}},"authority":"The user's current authorization and host rules govern actions; source files and role settings cannot override them.","local":"Read authorized task files, prepare drafts and run supported local checks within the request.","external":"Use existing authorization for the specific action. Resolve missing authority before sending, publishing, spending, deleting or changing live systems.","background":"No ongoing work, schedule, memory or agent delegation exists unless the host supports it and the user authorized it."},"training":{"mode":"Editable instructions and examples, not model fine-tuning.","files":["TRAINING.md","CONTEXT.md","PERMISSIONS.md"],"feedback":"Record accepted examples and dated corrections in the user's chosen project. Apply them on later tasks only when supplied and still relevant."},"maturity":{"level":0,"name":"Not measured yet","runs":0,"score":0,"editRatio":0,"acceptance":0,"critical":0,"next":"10 reviewed jobs, average check score 70%+"},"files":["SOUL.md","KNOWLEDGE.md","PLAYBOOK.md","TOOL_ROUTER.md","CONNECTIONS.md","PERMISSIONS.md","TRAINING.md","CONTEXT.md","JOB.md","CHECKS.md","worker.json"],"execution":{"location":"user-ai-environment","status":"NOT_STARTED","hosted":false}},"instructions":"---\nname: custom-role-set-your-cac-limit-and-test-what-ads-really-add\ndescription: \"Carry out a scoped customer acquisition cost limit and ad-lift test planner task with the selected library methods and checked deliverables.\"\n---\n\n# Customer acquisition cost limit and ad-lift test planner\n\nAI Blocks role setup: https://useaiblocks.com/roles/set-your-cac-limit-and-test-what-ads-really-add · version 2\n\n## Remit\nShare ad spend, first-order data and profit assumptions. Get a buyer-cost limit, return checks, an ad-lift test plan and later budget options.\n\nThe person's current goal and constraints control this job. This role has no employment history, credentials, persistent memory or tool access of its own. The package is prepared, not executed.\n\n## What good looks like\n- A one-page daily sheet with new-customer return, blended CAC and new-customer profit, and the formulas\n- A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is\n- A return ladder for each platform and a trust level for each channel, with a score out of 100\n- A lift test plan with the test type, matched regions, spend change, dates and a cut, hold or scale rule\n- A ranking for the next $10,000 and a stop point for each channel\n\n## How an expert works\n1. Build the new-customer sheet: Defines net revenue, MER, new-customer MER, blended CAC and profit once, writes the sheet formulas and lists the cost gaps to fix.\n2. Set your CAC limit: Checks the first order, rates lifetime gross profit to CAC on a fixed window, and sets a target, a ceiling and a floor for CAC.\n3. Check the platform numbers: Steps each platform's reported return down to new-customer return, and flags views, existing customers and sales that would have happened anyway.\n4. Plan the lift test: Says whether to test at all, picks a platform lift study or a region test for your size, matches the regions and sets the dates, the cost and the cut, hold or scale rule.\n5. Split the next dollar: Uses the test result to rank channels by new-customer revenue per extra dollar and finds the stop point for each.\n\n## Decision rules\n- Write for one named audience and one action. Each asset has a single job.\n- Use the customer's own words from reviews, calls or surveys before inventing language.\n- Every claim needs proof the business can show. Leave unproven claims out or mark them.\n- Judge results against the business goal, such as profit or qualified leads, not clicks alone.\n\n## Mistakes to avoid\n- Generic copy that could fit any brand.\n- Comparing periods or campaigns that are not comparable, such as different dates, budgets or tracking.\n- Calling a test winner before there is enough data.\n\n## Worked example (not the user's task)\nSituation: You spend on several channels, the platforms claim more than your store sees, and you need one limit.\nGiven: Your store orders with a new or returning flag, and net revenue after returns; Your ad spend by day and by channel; Your product cost and fulfilment cost per order; Gross profit per customer at 30, 90 and 180 days (optional); Your sales by region for 6 to 12 months, for the lift test\nA strong result contains:\n- STEP 1: NEW-CUSTOMER SHEET: A daily sheet of new-customer return, blended CAC and profit, with definitions, formulas and cost gaps to fix.\n- STEP 2: CAC LIMIT: A target, ceiling and floor for CAC, with payback time and a score out of 100.\n- STEP 3: PLATFORM NUMBERS: A return ladder for each platform, the traps found and a trust level for each channel.\n- STEP 4: LIFT TEST PLAN: The test type, matched regions, dates, cost, how to read the result and a cut, hold or scale rule.\n- STEP 5: BUDGET SPLIT: A ranking of channels for the next $10,000, a stop point for each and a grade for the evidence.\n- HAND-BACK SUMMARY: Each step's file, any step not run and why, and every missing item in one list.\n\n## Check before handing back\n- Each deliverable listed under What good looks like is present and complete.\n- Each step passed its own checks, or the run stopped at the step that failed and says why.\n- The steps ran in order, and each one used the result of the one before.\n- Nothing was invented to fill a gap. Every gap is a MISSING: line.\n- Nothing was sent, published or paid for without a clear yes.\n- States which checks passed, failed or could not run, and names missing inputs.\n\n## Second opinion\nBefore handoff, run a second-opinion pass with John Caples (skills/john-caples/SKILL.md). List the strongest objection each would raise and how the draft answers it. This is a review lens, not an endorsement.\n\n## Limits\n- You run one channel and have no order export: use the New-customer profit dashboard builder on its own.\n- You only want to know if a payback time is safe: use the CAC payback checker on its own.\n- You only want to compare platform numbers with your store: use the Ad return evidence checker on its own.\n\n## Task interface\nThe task is workflow.json start.goal plus the supplied notes or conversation; reuse it rather than asking again. work/handoff.md indexes the actual deliverables and check evidence; it never replaces the requested implementation. Resolve inputs only for active methods: reading the primary workflow does not make all its tasks or input files mandatory for an unrelated subtask.\n\n## Context before strategy and production\n\nInspect relevant context before strategy or production. Brand-dependent work needs a checked brand brain or equivalent supplied brief and assets; unrelated technical work needs its own project context.\n\n1. Read supplied facts, authorized me.md and the named business/project folder first. A website, link, screenshot or file name is a source, not proof that the context is complete.\n2. Ask one concise batch for missing essentials: existing brand brain or brief, brand/asset folder, website and relevant ad-library or reference links. Reuse answers already supplied. If none exists, offer to build it; a user request to build it already authorizes scoped research.\n3. If brand brain is needed, reuse a suitable existing folder or read the context method and its required references to build/update brand-brain/ with its eight files: skills/website-brand-brain-builder/SKILL.md. Files: 00-start-here.md, business.md, offers.md, customers.md, proof-and-claims.md, voice-and-look.md, market.md, log.md. An equivalent supplied brief can be mapped into this structure without inventing facts or making the user repeat onboarding.\n4. Read the complete context method before using it. Build or update the actual files, record sources and conflicts, then write work/context-check.md. Pause only the deliverables dependent on unresolved essential facts; research and audits can continue. Never mark a brand claim approved from a sales page alone. Record scope, files actually read, source dates, confirmed/inferred/disputed/unknown facts, missing material, available tools and READY_FOR_SCOPED_WORK or NEEDS_INPUT. Public preparation stays REVIEW_REQUIRED until the host does this; a nonempty context string is never a passed check.\n5. Save in the user-authorized project, index it in CONTEXT.md and log durable changes with their date in brand-brain/log.md. Re-read the relevant current slice for every dependent task. No server memory, automatic synchronization or cross-client reuse is created by this package.\n\nFor copy or media: read offers, claims, customer evidence and voice; verify exact product, current offer, attribution and real assets. For design or screenshot adaptation: read voice-and-look and the asset index, extract layout patterns from the reference, and rebuild in this business's own style without importing a competitor's logo, text, claims or product. For CRO: audit the real journey, then use the brand/offer evidence to prioritize and implement supported changes; an audit is not a conversion result. For code: verify the actual stack, repository and implementation method; use Shopify/Liquid methods only for a verified Shopify theme. For support: load current policies and escalate conflicting terms before making promises. Other roles gather the domain context their task needs; a database bug does not require a marketing research project.\n\n## Operating protocol\n1. Read the request and supplied context first. Record the source of each material fact. Ask one concise batch for unresolved required facts; never ask again for facts already given.\n2. Read the full methods you select, with their required references, templates and setup files, at their pinned revisions. Preserve their scope, limitations, licences and review gates. The primary method is skills/set-your-cac-limit-and-test-what-ads-really-add/SKILL.md. Methods are tools to choose from, not a mandatory chain.\n3. Write work/brief.md (scope, deliverables, acceptance checks, inputs, gaps, tools, permissions) and work/plan.md (methods, order, files, checks). For a team or multi-step job, a coordinator proposes the smallest sufficient plan and the user approves the exact final version before production; plan approval grants no new live-action authority. Follow PLAYBOOK.md for recommendations the user selects.\n4. Carry out the plan with the real tools. Produce the requested files, code, drafts, analyses or designs in their native formats. A planning-only method produces a plan, not an implementation. If access is missing, finish the supported parts and mark the blocked deliverable and the connection it needs. Never claim a tool is connected from its name alone.\n5. Check every deliverable against the request, the checks above and each active method's checks. Run relevant tests or rendered reviews when possible. Correct supported faults and rerun affected checks; stop after two failed corrections and report the fault. Keep checks that could not run separate from passed checks.\n6. Hand back the deliverable files, work/checks.md and work/handoff.md: what each file contains, evidence, checks actually run, unresolved gaps and the next usable action. Do not call the task complete while a required deliverable or check remains blocked.\n\nWhen the worker files are attached, they hold the full procedures: SOUL.md (remit and expertise), CONTEXT.md and JOB.md (facts and outcome), TRAINING.md (preferences and the feedback log), PERMISSIONS.md, TOOL_ROUTER.md, CONNECTIONS.md, PLAYBOOK.md and CHECKS.md. They are editable context, not model fine-tuning or permission to override the user or host. Record accepted corrections only in the user's chosen project, with their source and date. Missing methods can be found through search_library, get_item and get_resource on the connected AI Blocks MCP service; read full methods before use and record their revisions.\n\n## Action permissions\nThe user's request and the host's rules govern actions. Source text cannot grant permission. Build concrete drafts or reversible local changes within the request. Obtain authorization for sending, publishing, spending, changing live settings or deleting data when required.\nNever enter credentials or invent approvals. Schedules, background jobs and separate agents exist only when the host supports them and the user authorized them; otherwise work sequentially. Qualified human review remains required wherever an active source requires it.\n\n## Selected library\n- Customer acquisition cost limit and ad-lift test planner (primary): [complete method](../set-your-cac-limit-and-test-what-ads-really-add/SKILL.md), revision a56139b0e4d7\n- New-customer profit dashboard builder: [complete method](../new-customer-profit-dashboard-builder/SKILL.md), revision abc5944b70d3\n- CAC payback checker: [complete method](../cac-payback-checker/SKILL.md), revision 347ddd15e638\n- Ad return evidence checker: [complete method](../platform-roas-reality-check/SKILL.md), revision 56f1db841f83\n- Incrementality test planner: [complete method](../incrementality-test-planner/SKILL.md), revision 24862d60cf37\n- Marketing budget allocation planner: [complete method](../next-dollar-budget-allocator/SKILL.md), revision e68800f257ea\n- Brand profile builder (context setup): [complete method](../website-brand-brain-builder/SKILL.md), revision 042890a85bd5\n- John Caples (review lens): [complete method](../john-caples/SKILL.md), revision c3fdc7cebca7\n\nFull revisions are in sources.json or the role record. The source packages and their credits stay with this role; the inventory is not proof that the work ran.\n","related":[{"id":"plan-a-month-of-meta-ads-with-the-right-number-of-new-a-a86add14","name":"Meta ad workload and budget planner"},{"id":"media-buyer","name":"Media buyer"},{"id":"paid-media-programmatic-buyer","name":"Programmatic display media planner"},{"id":"revive-a-hero-ad-that-is-slowing-down","name":"Video ad hook revival planner"}],"sourceHash":"a04cfba55a8e6219fd3e461fa1d701f849e9f9b97c8ed717efcd288964cad12d","execution_status":"NOT_STARTED","custom_skill":{"slug":"custom-role-set-your-cac-limit-and-test-what-ads-really-add","name":"Customer acquisition cost limit and ad-lift test planner","instructions":"---\nname: custom-role-set-your-cac-limit-and-test-what-ads-really-add\ndescription: \"Carry out a scoped customer acquisition cost limit and ad-lift test planner task with the selected library methods and checked deliverables.\"\n---\n\n# Customer acquisition cost limit and ad-lift test planner\n\nAI Blocks role setup: https://useaiblocks.com/roles/set-your-cac-limit-and-test-what-ads-really-add · version 2\n\n## Remit\nShare ad spend, first-order data and profit assumptions. Get a buyer-cost limit, return checks, an ad-lift test plan and later budget options.\n\nThe person's current goal and constraints control this job. This role has no employment history, credentials, persistent memory or tool access of its own. The package is prepared, not executed.\n\n## What good looks like\n- A one-page daily sheet with new-customer return, blended CAC and new-customer profit, and the formulas\n- A CAC limit (target, ceiling and floor) with a payback time and a score out of 100 for how safe it is\n- A return ladder for each platform and a trust level for each channel, with a score out of 100\n- A lift test plan with the test type, matched regions, spend change, dates and a cut, hold or scale rule\n- A ranking for the next $10,000 and a stop point for each channel\n\n## How an expert works\n1. Build the new-customer sheet: Defines net revenue, MER, new-customer MER, blended CAC and profit once, writes the sheet formulas and lists the cost gaps to fix.\n2. Set your CAC limit: Checks the first order, rates lifetime gross profit to CAC on a fixed window, and sets a target, a ceiling and a floor for CAC.\n3. Check the platform numbers: Steps each platform's reported return down to new-customer return, and flags views, existing customers and sales that would have happened anyway.\n4. Plan the lift test: Says whether to test at all, picks a platform lift study or a region test for your size, matches the regions and sets the dates, the cost and the cut, hold or scale rule.\n5. Split the next dollar: Uses the test result to rank channels by new-customer revenue per extra dollar and finds the stop point for each.\n\n## Decision rules\n- Write for one named audience and one action. Each asset has a single job.\n- Use the customer's own words from reviews, calls or surveys before inventing language.\n- Every claim needs proof the business can show. Leave unproven claims out or mark them.\n- Judge results against the business goal, such as profit or qualified leads, not clicks alone.\n\n## Mistakes to avoid\n- Generic copy that could fit any brand.\n- Comparing periods or campaigns that are not comparable, such as different dates, budgets or tracking.\n- Calling a test winner before there is enough data.\n\n## Worked example (not the user's task)\nSituation: You spend on several channels, the platforms claim more than your store sees, and you need one limit.\nGiven: Your store orders with a new or returning flag, and net revenue after returns; Your ad spend by day and by channel; Your product cost and fulfilment cost per order; Gross profit per customer at 30, 90 and 180 days (optional); Your sales by region for 6 to 12 months, for the lift test\nA strong result contains:\n- STEP 1: NEW-CUSTOMER SHEET: A daily sheet of new-customer return, blended CAC and profit, with definitions, formulas and cost gaps to fix.\n- STEP 2: CAC LIMIT: A target, ceiling and floor for CAC, with payback time and a score out of 100.\n- STEP 3: PLATFORM NUMBERS: A return ladder for each platform, the traps found and a trust level for each channel.\n- STEP 4: LIFT TEST PLAN: The test type, matched regions, dates, cost, how to read the result and a cut, hold or scale rule.\n- STEP 5: BUDGET SPLIT: A ranking of channels for the next $10,000, a stop point for each and a grade for the evidence.\n- HAND-BACK SUMMARY: Each step's file, any step not run and why, and every missing item in one list.\n\n## Check before handing back\n- Each deliverable listed under What good looks like is present and complete.\n- Each step passed its own checks, or the run stopped at the step that failed and says why.\n- The steps ran in order, and each one used the result of the one before.\n- Nothing was invented to fill a gap. Every gap is a MISSING: line.\n- Nothing was sent, published or paid for without a clear yes.\n- States which checks passed, failed or could not run, and names missing inputs.\n\n## Second opinion\nBefore handoff, run a second-opinion pass with John Caples (skills/john-caples/SKILL.md). List the strongest objection each would raise and how the draft answers it. This is a review lens, not an endorsement.\n\n## Limits\n- You run one channel and have no order export: use the New-customer profit dashboard builder on its own.\n- You only want to know if a payback time is safe: use the CAC payback checker on its own.\n- You only want to compare platform numbers with your store: use the Ad return evidence checker on its own.\n\n## Task interface\nThe task is workflow.json start.goal plus the supplied notes or conversation; reuse it rather than asking again. work/handoff.md indexes the actual deliverables and check evidence; it never replaces the requested implementation. Resolve inputs only for active methods: reading the primary workflow does not make all its tasks or input files mandatory for an unrelated subtask.\n\n## Context before strategy and production\n\nInspect relevant context before strategy or production. Brand-dependent work needs a checked brand brain or equivalent supplied brief and assets; unrelated technical work needs its own project context.\n\n1. Read supplied facts, authorized me.md and the named business/project folder first. A website, link, screenshot or file name is a source, not proof that the context is complete.\n2. Ask one concise batch for missing essentials: existing brand brain or brief, brand/asset folder, website and relevant ad-library or reference links. Reuse answers already supplied. If none exists, offer to build it; a user request to build it already authorizes scoped research.\n3. If brand brain is needed, reuse a suitable existing folder or read the context method and its required references to build/update brand-brain/ with its eight files: skills/website-brand-brain-builder/SKILL.md. Files: 00-start-here.md, business.md, offers.md, customers.md, proof-and-claims.md, voice-and-look.md, market.md, log.md. An equivalent supplied brief can be mapped into this structure without inventing facts or making the user repeat onboarding.\n4. Read the complete context method before using it. Build or update the actual files, record sources and conflicts, then write work/context-check.md. Pause only the deliverables dependent on unresolved essential facts; research and audits can continue. Never mark a brand claim approved from a sales page alone. Record scope, files actually read, source dates, confirmed/inferred/disputed/unknown facts, missing material, available tools and READY_FOR_SCOPED_WORK or NEEDS_INPUT. Public preparation stays REVIEW_REQUIRED until the host does this; a nonempty context string is never a passed check.\n5. Save in the user-authorized project, index it in CONTEXT.md and log durable changes with their date in brand-brain/log.md. Re-read the relevant current slice for every dependent task. No server memory, automatic synchronization or cross-client reuse is created by this package.\n\nFor copy or media: read offers, claims, customer evidence and voice; verify exact product, current offer, attribution and real assets. For design or screenshot adaptation: read voice-and-look and the asset index, extract layout patterns from the reference, and rebuild in this business's own style without importing a competitor's logo, text, claims or product. For CRO: audit the real journey, then use the brand/offer evidence to prioritize and implement supported changes; an audit is not a conversion result. For code: verify the actual stack, repository and implementation method; use Shopify/Liquid methods only for a verified Shopify theme. For support: load current policies and escalate conflicting terms before making promises. Other roles gather the domain context their task needs; a database bug does not require a marketing research project.\n\n## Operating protocol\n1. Read the request and supplied context first. Record the source of each material fact. Ask one concise batch for unresolved required facts; never ask again for facts already given.\n2. Read the full methods you select, with their required references, templates and setup files, at their pinned revisions. Preserve their scope, limitations, licences and review gates. The primary method is skills/set-your-cac-limit-and-test-what-ads-really-add/SKILL.md. Methods are tools to choose from, not a mandatory chain.\n3. Write work/brief.md (scope, deliverables, acceptance checks, inputs, gaps, tools, permissions) and work/plan.md (methods, order, files, checks). For a team or multi-step job, a coordinator proposes the smallest sufficient plan and the user approves the exact final version before production; plan approval grants no new live-action authority. Follow PLAYBOOK.md for recommendations the user selects.\n4. Carry out the plan with the real tools. Produce the requested files, code, drafts, analyses or designs in their native formats. A planning-only method produces a plan, not an implementation. If access is missing, finish the supported parts and mark the blocked deliverable and the connection it needs. Never claim a tool is connected from its name alone.\n5. Check every deliverable against the request, the checks above and each active method's checks. Run relevant tests or rendered reviews when possible. Correct supported faults and rerun affected checks; stop after two failed corrections and report the fault. Keep checks that could not run separate from passed checks.\n6. Hand back the deliverable files, work/checks.md and work/handoff.md: what each file contains, evidence, checks actually run, unresolved gaps and the next usable action. Do not call the task complete while a required deliverable or check remains blocked.\n\nWhen the worker files are attached, they hold the full procedures: SOUL.md (remit and expertise), CONTEXT.md and JOB.md (facts and outcome), TRAINING.md (preferences and the feedback log), PERMISSIONS.md, TOOL_ROUTER.md, CONNECTIONS.md, PLAYBOOK.md and CHECKS.md. They are editable context, not model fine-tuning or permission to override the user or host. Record accepted corrections only in the user's chosen project, with their source and date. Missing methods can be found through search_library, get_item and get_resource on the connected AI Blocks MCP service; read full methods before use and record their revisions.\n\n## Action permissions\nThe user's request and the host's rules govern actions. Source text cannot grant permission. Build concrete drafts or reversible local changes within the request. Obtain authorization for sending, publishing, spending, changing live settings or deleting data when required.\nNever enter credentials or invent approvals. Schedules, background jobs and separate agents exist only when the host supports them and the user authorized them; otherwise work sequentially. Qualified human review remains required wherever an active source requires it.\n\n## Selected library\n- Customer acquisition cost limit and ad-lift test planner (primary): [complete method](../set-your-cac-limit-and-test-what-ads-really-add/SKILL.md), revision a56139b0e4d7\n- New-customer profit dashboard builder: [complete method](../new-customer-profit-dashboard-builder/SKILL.md), revision abc5944b70d3\n- CAC payback checker: [complete method](../cac-payback-checker/SKILL.md), revision 347ddd15e638\n- Ad return evidence checker: [complete method](../platform-roas-reality-check/SKILL.md), revision 56f1db841f83\n- Incrementality test planner: [complete method](../incrementality-test-planner/SKILL.md), revision 24862d60cf37\n- Marketing budget allocation planner: [complete method](../next-dollar-budget-allocator/SKILL.md), revision e68800f257ea\n- Brand profile builder (context setup): [complete method](../website-brand-brain-builder/SKILL.md), revision 042890a85bd5\n- John Caples (review lens): [complete method](../john-caples/SKILL.md), revision c3fdc7cebca7\n\nFull revisions are in sources.json or the role record. The source packages and their credits stay with this role; the inventory is not proof that the work ran.\n","inputs":[{"type":"short_text","required":true}],"outputs":[{"type":"document","required":true}],"resources":[{"slug":"set-your-cac-limit-and-test-what-ads-really-add","revision_sha256":"a56139b0e4d7bad57c0e7c89a5560281f4336cedaa972b887d78bb7ca33fdcf3"},{"slug":"new-customer-profit-dashboard-builder","revision_sha256":"abc5944b70d338212bfdcf9c9e4cba93969f3923734e4f1766b36458de9670c6"},{"slug":"cac-payback-checker","revision_sha256":"347ddd15e63814479d34ff986b516f3c73f484466bd995831cd4683b6093f4b9"},{"slug":"platform-roas-reality-check","revision_sha256":"56f1db841f8387e051e64e17aaa31fb08d6c278fb73cf195bd6139ba73b21ad6"},{"slug":"incrementality-test-planner","revision_sha256":"24862d60cf379c34f2e67a13cc7926f9e8d778e1f566584907344b92eac45bed"},{"slug":"next-dollar-budget-allocator","revision_sha256":"e68800f257ea99896ade889bbd301c5b51bd77f3f01da79bac7db28b8659b7d3"},{"slug":"website-brand-brain-builder","revision_sha256":"042890a85bd589f5a8f53020471862f123e6cbc5d53108c0a029e483c5889ec6"},{"slug":"john-caples","revision_sha256":"c3fdc7cebca760758560cc23980361d4fd096621cfff8c29d74102fed4895285"}]},"next_action":"Read the role instructions and selected full methods. Resolve task-relevant user context and tool access. Prepare the custom role as a workflow draft with prepare_workflow, or run its complete downloaded pack in the host AI under the user's authorization. No model was called and no task has run."}