<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Prabhash Jha</title>
    <description>The latest articles on DEV Community by Prabhash Jha (@prabhash_jha_891cf98a0eca).</description>
    <link>https://dev.to/prabhash_jha_891cf98a0eca</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4079696%2Fb0285330-10a6-4e6c-9497-542b2fe92d48.jpg</url>
      <title>DEV Community: Prabhash Jha</title>
      <link>https://dev.to/prabhash_jha_891cf98a0eca</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prabhash_jha_891cf98a0eca"/>
    <language>en</language>
    <item>
      <title>Your Marketing Either Makes Money or It Doesn't, Here's the Sheet That Tells You</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Fri, 02 Oct 2026 15:46:18 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/your-marketing-either-makes-money-or-it-doesnt-heres-the-sheet-that-tells-you-412a</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/your-marketing-either-makes-money-or-it-doesnt-heres-the-sheet-that-tells-you-412a</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;You can have a rising click-through rate, a busy dashboard, a full content calendar. And still lose money on every customer you buy. Marketing reports are great at showing activity. They're terrible at answering the one question that matters: does this make money? Here's a free sheet that answers it in about five minutes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The formula part isn't hard. It isn't secret either. Every article on the subject gives you the same two ratios in the first three paragraphs. What none of them cover is the part that actually takes time. Getting the inputs right when your data is messy, which it always is. And knowing what to do when the answer comes back bad.&lt;/p&gt;

&lt;p&gt;That's what most of this piece is about. The arithmetic takes ten minutes. Arguing with your own numbers takes a week. That's where the value lives.&lt;/p&gt;

&lt;p&gt;Put another way: the maths is trivial. The judgment isn't. The sheet gives you a verdict in five minutes. Trusting the verdict takes as long as it takes to be honest about the seven inputs you fed it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two numbers that decide everything
&lt;/h2&gt;

&lt;p&gt;Strip away the dashboards. Paid marketing comes down to two numbers. What a customer is worth to you over their lifetime (&lt;strong&gt;LTV&lt;/strong&gt;). And what it costs you to get one (&lt;strong&gt;CAC&lt;/strong&gt;). If the first is comfortably bigger than the second, you have something you can scale. If not, every rupee you add makes the problem bigger, faster.&lt;/p&gt;

&lt;p&gt;Everything else, impressions, reach, CTR, engagement, is diagnostic detail. If those acronyms are new, &lt;a href="https://dev.to/post/marketing-metrics-explained-cpc-cpm-ctr-cpa-and-roas-in-plain-english/"&gt;the plain-English guide to CPC, CPM, CTR, CPA and ROAS&lt;/a&gt; covers what each one is actually measuring. Useful for working out &lt;strong&gt;why&lt;/strong&gt; something isn't working. Useless for deciding &lt;strong&gt;whether&lt;/strong&gt; it's working. Running the whole loop, spend, measure, cut, reinvest, is what &lt;a href="https://dev.to/post/performance-marketing-the-practical-playbook-i-actually-use/"&gt;the performance marketing playbook&lt;/a&gt; walks through.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Profit = (LTV − CAC) × Volume. Fix what's inside the bracket before you touch the volume.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That sentence is the whole discipline. Volume is the lever everyone reaches for first. It's the only one you can pull on a Tuesday afternoon without changing anything about the business. It's also the lever that does nothing when the bracket is negative. Except make the loss arrive sooner.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the sheet works out for you
&lt;/h2&gt;

&lt;p&gt;You fill in seven things you already roughly know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Average order value&lt;/strong&gt;: what a customer pays you per purchase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gross margin&lt;/strong&gt;: what's left after the cost of delivering it. &lt;a href="https://dev.to/post/how-to-read-a-profit-and-loss-statement-without-an-accounting-degree/"&gt;Reading a profit and loss statement&lt;/a&gt; is the fastest way to find this number if you don't already track it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Purchase frequency&lt;/strong&gt;: how often a customer buys in a year.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer lifespan&lt;/strong&gt;: how long they keep buying.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monthly ad spend&lt;/strong&gt;: everything you pay the platforms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Other acquisition costs&lt;/strong&gt;: agency fees, tools, salaries tied to acquisition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New customers per month&lt;/strong&gt;: customers, not leads or clicks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And it gives you back:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LTV&lt;/strong&gt;: the total gross profit one customer brings you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CAC&lt;/strong&gt;: what one new customer actually costs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LTV : CAC ratio&lt;/strong&gt;: the single most useful number in the sheet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Break-even ROAS&lt;/strong&gt;: the return you need just to cover product cost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actual ROAS&lt;/strong&gt;: what you're getting today on the first purchase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payback period&lt;/strong&gt;: how many months until a customer repays what you spent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maximum affordable CAC&lt;/strong&gt;: the ceiling you should never bid past.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where the seven inputs actually come from
&lt;/h2&gt;

&lt;p&gt;This is the part that takes the week. Each input has one specific way it goes wrong. And in every case the error runs in the flattering direction. Which is why businesses are far more often surprised by bad news than good.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average order value.&lt;/strong&gt; Use net revenue, not gross. Subtract discounts actually redeemed, returns, payment gateway fees. The common error is pulling the headline order value from a store dashboard that reports before refunds. In a category with meaningful returns, that single choice can move the final verdict across a decision boundary on its own. If you run heavy discounting on first purchase specifically, use the discounted figure for acquisition maths. That's the order you are actually buying.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gross margin.&lt;/strong&gt; Two errors here, and they compound. First: using markup instead of margin. If you buy at 100 and sell at 150, that's a 50% markup and a 33% margin. Putting 50 into the sheet inflates every downstream number. Second: counting only the cost of goods and forgetting the costs that scale with each order. Shipping. Packaging. Payment fees. The support time a physical return consumes. Margin for this purpose means contribution margin. What's genuinely left over from one more sale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Purchase frequency and customer lifespan.&lt;/strong&gt; These are the two people guess, and the guess is usually optimistic. Take them from a cohort, customers who first bought in a specific month, rather than from an average across your whole base. An average computed over everyone alive today systematically over-states. Your best long-standing customers are still counted while the ones who bought once and vanished have quietly stopped being visible in the recent data. If your business is younger than your assumed customer lifespan, you cannot measure lifespan yet. Use a deliberately conservative figure and mark it as an assumption rather than a fact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monthly ad spend.&lt;/strong&gt; Use the invoice, not the platform's reported spend. They differ. Currency conversion, taxes, credits, and the fact that platform reporting is a live estimate that settles later. Whatever the gap is in your account, it's a real cost and it belongs in CAC.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other acquisition costs.&lt;/strong&gt; Include agency or freelancer fees. The tools that exist only for acquisition. The fraction of salary of anyone whose job is getting customers. Do not include product development, or general overhead like rent. The test is a clean one. If you stopped acquiring customers tomorrow, would this cost go away? If yes, it belongs in CAC.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New customers per month.&lt;/strong&gt; New. Not orders. Not leads. Not sessions. If a returning customer's second order is sitting in this number, your CAC is understated by whatever your repeat rate is. And the sheet will hand you a verdict you did not earn.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the platform's numbers and your bank statement disagree
&lt;/h2&gt;

&lt;p&gt;Because the platform is answering a different question than the one you're asking. And it's answering it in a way designed to be useful for bidding rather than accounting.&lt;/p&gt;

&lt;p&gt;Three mechanics explain almost every gap I've had to reconcile:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conversion counting.&lt;/strong&gt; Ad platforms let you count either every conversion after an ad interaction or only one per click. Google's own guidance is that "every" suits sales, because each additional sale genuinely adds value, while "one" suits lead generation, where you care whether a lead happened rather than how many times the form was submitted (&lt;a href="https://support.google.com/google-ads/answer/3438531?hl=en" rel="noopener noreferrer"&gt;Google Ads Help: about conversion counting options&lt;/a&gt;). Get this backwards on a lead form and one enthusiastic person filling in the form four times becomes four conversions, four "customers", a CAC a quarter of the truth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attribution model.&lt;/strong&gt; The number in the platform is credit assigned by a model. Not a count of sales caused. Google Ads offers several, from last-click, which gives the whole conversion to the final click, to data-driven, which distributes credit using your own historical paths (&lt;a href="https://support.google.com/google-ads/answer/6259715?hl=en" rel="noopener noreferrer"&gt;Google Ads Help: about attribution models&lt;/a&gt;). Two models over the same week produce different per-channel numbers from identical underlying sales. Neither is lying. They're answering different questions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not enough data for the model to work.&lt;/strong&gt; Data-driven attribution needs volume to find patterns. Google recommends at least 200 conversions and 2,000 ad interactions in a 30-day window, and states that while the model still functions below that, having sufficient volume lets it identify patterns and assign credit more precisely (&lt;a href="https://support.google.com/google-ads/answer/6394265?hl=en" rel="noopener noreferrer"&gt;Google Ads Help: about data-driven attribution&lt;/a&gt;). Most small accounts are nowhere near those figures. If you're running a modest budget, your attribution is a rough estimate wearing the costume of a precise one.&lt;/p&gt;

&lt;p&gt;The practical rule I settled on years ago: &lt;strong&gt;the platform decides where budget moves between campaigns; your bank statement decides whether there is budget at all.&lt;/strong&gt; Optimise inside the account using platform numbers, because relative comparisons there are meaningful. Judge the whole channel on money that actually arrived. When those two stories diverge badly and stay diverged, the problem is usually tracking rather than performance. The same class of quiet breakage that &lt;a href="https://dev.to/post/affiliate-tracking-breaks-quietly-catch-it-before-payout-day/"&gt;affiliate tracking has&lt;/a&gt;, where nothing errors and the number is simply wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Blended CAC and paid CAC, and why you need both
&lt;/h2&gt;

&lt;p&gt;Blended CAC divides all acquisition cost by all new customers, including the ones who found you organically. Paid CAC divides paid spend by the customers paid actually brought. They answer different questions. Confusing them is the most common serious error in this whole exercise.&lt;/p&gt;

&lt;p&gt;Blended CAC tells you whether the business works. It's the honest number, because the organic customers are real and their cost is not zero. Someone is writing the content, and &lt;a href="https://dev.to/post/seo-basics-how-to-get-found-on-google-without-paying-for-ads/"&gt;SEO takes months before it returns anything&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Paid CAC tells you whether the next rupee of ad spend works. That's the number for a budget decision.&lt;/p&gt;

&lt;p&gt;The trap is using blended CAC to justify scaling paid. If a third of your customers arrive organically at low marginal cost, blended CAC looks comfortable while the paid channel on its own may be underwater. Then you double the ad budget. Organic share stays flat because it's driven by something else entirely. Blended CAC deteriorates towards the paid number you never looked at. This is the single most common way a business that "worked at small scale" stops working at larger scale. It's entirely a measurement artefact rather than a market change.&lt;/p&gt;

&lt;p&gt;Run both. Scale on paid CAC. Report the business on blended.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to read your answer
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Below 1:1&lt;/strong&gt;: you're buying losses. Every new customer costs more than they'll ever be worth. Scaling makes it worse, faster. Stop increasing budget today; this is not a volume problem.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1:1 to 3:1&lt;/strong&gt;: it works, but there's no room for error. One bad month or one rising CPM breaks it. Treat it as a warning, not a pass.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3:1 and above&lt;/strong&gt;: healthy. This is where scaling actually compounds. Increase budget in steps, not leaps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Well above 5:1&lt;/strong&gt;: you may be under-spending. That's a good problem, but it's still a problem. You're leaving growth on the table. Before celebrating, check the ratio is not high because your customer count is small enough that a handful of outliers is setting your LTV.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The 3:1 benchmark is a convention rather than a law. Worth knowing what it's really encoding: room for the acquisition cost to rise before the business breaks. A company with fat margins and monthly repeat purchases can live below it safely. A thin-margin business with a year-long payback needs more than 3:1 to be genuinely safe, because it has less cushion and waits longer to find out it was wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Payback period is the number that actually kills businesses
&lt;/h2&gt;

&lt;p&gt;Ratio tells you whether the business is viable. Payback tells you whether you survive to see it.&lt;/p&gt;

&lt;p&gt;A healthy LTV:CAC with an eighteen-month payback means you're lending your customers money for a year and a half and getting it back with interest. That's a fine business and a lethal cash position. The failure mode is specific. Growth accelerates. The gap between money out and money in widens exactly in proportion to how well things are going. The business runs out of cash at the moment its ratios look best. This is the distinction in &lt;a href="https://dev.to/post/cash-flow-vs-profit-the-difference-that-sinks-most-small-businesses/"&gt;cash flow vs profit&lt;/a&gt;, and it's the most under-appreciated number in the sheet.&lt;/p&gt;

&lt;p&gt;Two practical rules I use:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compare payback to your cash runway, not to a benchmark.&lt;/strong&gt; If payback is longer than the runway you can fund, the ratio is irrelevant. You cannot afford to be right.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When payback is long, growth rate is a risk multiplier, not just an ambition.&lt;/strong&gt; Faster growth means a larger fraction of your customer base is in the not-yet-repaid state at any moment. Growing more slowly is sometimes the correct answer. It's almost never the popular one.&lt;/p&gt;

&lt;p&gt;The uncomfortable version of the same idea. Two businesses with identical ratios can have completely different fates depending on how long the customer takes to pay back what you spent to acquire them. The one with shorter payback survives a bad quarter. The one with longer payback burns through the reserves before the ratio has a chance to prove itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to fix first when the ratio is bad
&lt;/h2&gt;

&lt;p&gt;In this order, because it's roughly the order of how quickly each responds and how much control you have over it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Margin.&lt;/strong&gt; Fastest to move and almost always the most neglected. A price increase or a reduction in cost-to-serve flows straight through to LTV without touching a single campaign. Businesses will spend three months trying to reduce CAC by 10% and won't spend an afternoon on a 5% price rise that would have done more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repeat purchase.&lt;/strong&gt; The second cheapest lever, because you're selling to people who have already bought and already trust you. Multiplying frequency or lifespan multiplies LTV directly. &lt;a href="https://dev.to/post/how-to-build-an-email-list-from-zero/"&gt;Email is still the highest-leverage channel here&lt;/a&gt;, for the unglamorous reason that you own the list and pay nothing to reach it again.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conversion rate.&lt;/strong&gt; Improving the rate at which traffic you already pay for turns into customers reduces CAC without touching bids. Check the whole path, not the ad. &lt;a href="https://dev.to/post/what-is-a-marketing-funnel-a-simple-guide-with-real-examples/"&gt;The funnel&lt;/a&gt; fails more often after the click than before it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Targeting and creative.&lt;/strong&gt; Real, but slower and noisier than it's presented. And it degrades as competition adapts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bids and budgets.&lt;/strong&gt; Last, deliberately. This is the lever everyone starts with. It has the least headroom. It optimises the auction rather than the business.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you've run all five honestly and the numbers still don't work, the answer may be that performance marketing isn't the constraint at all. Which is the situation &lt;a href="https://dev.to/post/when-performance-marketing-stops-working-and-brand-is-the-only-lever-left/"&gt;where brand becomes the only lever left&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two mistakes that make your numbers lie
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Counting leads instead of customers.&lt;/strong&gt; A lead is not a customer. If you divide your spend by leads instead of paying customers, your CAC will look roughly a third of what it really is. Every decision downstream of it will be wrong. This error is unusually persistent because leads are visible immediately and customers are not. So the wrong number is also the convenient one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leaving out the costs that aren't ad spend.&lt;/strong&gt; Agency fees, tools, and the salaries of the people running acquisition are all part of what it costs you to get a customer. Leave them out and your numbers will look considerably better than your bank account does. The tell is simple and worth checking once a quarter. Add up everything the sheet says acquisition costs. See whether it matches what left the business. If it doesn't, the sheet is describing a company you do not run.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;Say a business sells at ₹2,000 per order on a 60% gross margin. A customer buys twice a year and stays for three years. It spends ₹300,000 a month on ads plus ₹50,000 on tools and people. That brings in 120 new customers.&lt;/p&gt;

&lt;p&gt;The sheet returns an LTV of ₹7,200 and a CAC of about ₹2,917. A ratio of &lt;strong&gt;2.5:1&lt;/strong&gt;, under the 3:1 you want. First-purchase ROAS is 0.8x against a break-even of 1.67x. So every first sale loses money. Payback takes roughly 14.6 months.&lt;/p&gt;

&lt;p&gt;Nothing there looks alarming on a dashboard. The ads are running. Customers are arriving. Revenue is growing. But that business is funding its own growth out of pocket for more than a year per customer. It cannot afford to scale until margin, retention or conversion improves.&lt;/p&gt;

&lt;p&gt;Now apply the order of operations. A 10% price rise with cost-to-serve unchanged lifts margin. And because the whole increase lands in gross profit, it moves LTV by considerably more than 10%. Adding one repeat purchase across the customer's three years does more still. Neither requires touching a campaign. Both change the verdict faster than any bid adjustment would. That's the argument for fixing the bracket before the volume, in numbers.&lt;/p&gt;

&lt;p&gt;Look at the arithmetic again. The same business that couldn't scale on a 2.5:1 ratio can, with two changes that don't touch the media budget, land somewhere the sheet will actually give a green light. Neither change is glamorous. Neither shows up in a dashboard as a spike. But they move the number that decides whether adding a rupee of ad spend adds a rupee of profit or subtracts one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Illustrative numbers only.&lt;/strong&gt; Not a real account, and not a benchmark for your category.&lt;/p&gt;

&lt;h2&gt;
  
  
  Maximum affordable CAC, and how to actually use it
&lt;/h2&gt;

&lt;p&gt;Maximum affordable CAC is the ceiling above which a new customer costs more than they'll ever return. Most people read it once, nod, and never use it again. It's more useful as an operating instrument than as a fact.&lt;/p&gt;

&lt;p&gt;Set your working ceiling below the theoretical maximum, not at it. The maximum is the point of zero profit, and running there means every forecasting error is a loss. The gap you leave is a judgement about how confident you are in your LTV. And if LTV rests on an assumed customer lifespan you haven't yet observed, that gap should be wide.&lt;/p&gt;

&lt;p&gt;Then convert it into the units you actually work in. A CAC ceiling isn't directly usable at three in the afternoon in an ads account. A target cost per lead is. Divide the ceiling by your lead-to-customer rate and you have a number you can hold a campaign to daily, in the same terms the platform bids in. That translation is what makes the sheet part of the routine rather than a quarterly exercise. It's roughly the point at which &lt;a href="https://dev.to/post/google-ads-vs-meta-ads-which-should-a-beginner-start-with/"&gt;choosing between Google and Meta&lt;/a&gt; becomes a question you can answer with evidence instead of preference.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you sell services rather than products
&lt;/h2&gt;

&lt;p&gt;The maths doesn't care what you sell. But three of the inputs need translating.&lt;/p&gt;

&lt;p&gt;Average order value becomes your typical project fee or monthly retainer. Purchase frequency becomes how often a client re-engages or renews. Lifespan is how long they stay before churning. If you're working out what those numbers should be in the first place, &lt;a href="https://dev.to/post/how-to-price-your-services-as-a-freelancer-or-consultant/"&gt;pricing your services&lt;/a&gt; is the prerequisite. You cannot compute a sensible LTV on a price you set by feel.&lt;/p&gt;

&lt;p&gt;Two service-specific adjustments matter. First, &lt;strong&gt;your delivery capacity is a real constraint that products do not have&lt;/strong&gt;. So a wonderful LTV:CAC on more clients than you can serve isn't an opportunity. It's a quality problem waiting to happen. Second, &lt;strong&gt;count your own delivery time in gross margin&lt;/strong&gt;. Service businesses routinely compute margin as if the founder's hours are free, which produces a flattering number and a working week that quietly explains the discrepancy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get the sheet
&lt;/h2&gt;

&lt;p&gt;&lt;a href="///downloads/unit-economics-sheet.xlsx"&gt;Download The Unit Economics Sheet&lt;/a&gt;. Free, no signup required. It works in Excel, Google Sheets and Numbers. Fill in the yellow cells. Everything else calculates itself, including the verdict.&lt;/p&gt;

&lt;p&gt;Run it once with your best honest guesses. Then run it again with each questionable input moved to the pessimistic end of what you think is plausible. If the verdict survives both, you can act on it. If it flips, you haven't found an answer. You've found which input you need to go and measure properly. Which is a genuinely useful outcome for an afternoon's work.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What if I don't know my numbers exactly?
&lt;/h3&gt;

&lt;p&gt;Estimate them. A rough number beats no number, and the answer is usually obvious well before the decimals matter. Run the sheet twice. Once with your best guess, once with the pessimistic version of every uncertain input. If both runs give the same verdict, the uncertainty doesn't matter yet. If they disagree, you've identified precisely which number is worth the effort of measuring.&lt;/p&gt;

&lt;h3&gt;
  
  
  What counts as a good LTV:CAC ratio?
&lt;/h3&gt;

&lt;p&gt;3:1 is the common benchmark, but it depends on your margins and how fast you get paid back. A business with fat margins and quick repeat purchases can live at 2:1. A thin-margin business with a year-long payback may need more than 3:1 to be genuinely safe. The benchmark is really a proxy for how much room you have before rising acquisition costs break the model.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I use blended CAC or paid CAC?
&lt;/h3&gt;

&lt;p&gt;Both, for different decisions. Blended CAC, all acquisition costs divided by all new customers, tells you whether the business works. Paid CAC tells you whether the next rupee of ad spend works, and that's the one to use for budget decisions. Scaling paid spend on the strength of a blended number that organic traffic is quietly propping up is one of the most common ways growth stops working at higher budgets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why doesn't the platform's CAC match mine?
&lt;/h3&gt;

&lt;p&gt;Because the platform reports credit assigned by an attribution model over a conversion window, not sales that reached your bank. Conversion counting settings, the attribution model in use, and whether the account has enough volume for that model to be reliable all move the number. Use platform figures to compare campaigns against each other. Use your own revenue to judge the channel as a whole.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does this work for services and freelancers?
&lt;/h3&gt;

&lt;p&gt;Yes. Average order value becomes your typical project fee or retainer, purchase frequency becomes how often a client re-engages, and lifespan is how long they stay. Two adjustments: include your own delivery time in gross margin, and remember that delivery capacity caps how much of a good ratio you can actually use.&lt;/p&gt;

&lt;h3&gt;
  
  
  How often should I redo this?
&lt;/h3&gt;

&lt;p&gt;Quarterly for the full sheet. And immediately after any material change to price, product cost, or the mix of channels you buy. The inputs that drift fastest are acquisition costs, which rise as competition increases, and margin, which erodes in small increments nobody notices until they are summed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Only two numbers decide whether marketing works: LTV and CAC. Everything else explains them.&lt;/li&gt;
&lt;li&gt;Profit = (LTV − CAC) × Volume. Fix the bracket before you scale the volume.&lt;/li&gt;
&lt;li&gt;Every input error runs in the flattering direction. Margin confused with markup, averages instead of cohorts, platform spend instead of invoiced spend.&lt;/li&gt;
&lt;li&gt;Count paying customers, not leads, and include the costs that aren't ad spend. If it disappears when you stop acquiring, it belongs in CAC.&lt;/li&gt;
&lt;li&gt;The platform reports modelled credit, not sales. Use it to compare campaigns; use your bank statement to judge the channel.&lt;/li&gt;
&lt;li&gt;Keep blended CAC and paid CAC separate. Scale on paid; report the business on blended.&lt;/li&gt;
&lt;li&gt;Payback period kills more businesses than a poor ratio does, because the cash gap grows fastest exactly when growth looks best.&lt;/li&gt;
&lt;li&gt;Fix in order: margin, repeat purchase, conversion rate, targeting, then bids. Most people start at the bottom of that list.&lt;/li&gt;
&lt;li&gt;Set your working CAC ceiling below the theoretical maximum, and convert it into a cost-per-lead target you can actually manage daily.&lt;/li&gt;
&lt;li&gt;If the verdict changes when you move one uncertain input, you haven't got an answer. You've found the number worth measuring.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>performance</category>
      <category>affiliate</category>
    </item>
    <item>
      <title>Your Top Affiliate Is Bidding on Your Own Brand Name</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Thu, 01 Oct 2026 16:25:08 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/your-top-affiliate-is-bidding-on-your-own-brand-name-5h0e</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/your-top-affiliate-is-bidding-on-your-own-brand-name-5h0e</guid>
      <description>&lt;p&gt;There is a specific kind of affiliate partner that looks like your best one and is actually your most expensive. Their conversion rate is superb. Their volume is steady. They almost never generate a refund. And every month you pay them a commission on customers who had already decided to buy, had already typed your brand name into Google, and were on their way to you anyway.&lt;/p&gt;

&lt;p&gt;They are bidding on your brand name in paid search. They are buying an ad above your own listing, catching the click, redirecting the person to your site through a tracked link, and invoicing you for the introduction.&lt;/p&gt;

&lt;p&gt;The reason this goes unnoticed for so long is that it is invisible in every report you look at. Affiliate revenue is up. Affiliate conversion rate is excellent. Cost per acquisition looks superb. Nothing in the affiliate dashboard says "this customer was already yours." Meanwhile the damage shows up in a completely different system, your own search account, where brand keywords have quietly become more expensive, and nobody connects the two numbers because different people own them.&lt;/p&gt;

&lt;p&gt;This is how to find out whether it is happening to you, using checks that cost nothing and take about twenty minutes, and then what to do about it, including the part nobody writes about, which is what you do when the partner doing it is genuinely one of your largest revenue sources.&lt;/p&gt;

&lt;h2&gt;
  
  
  What brand bidding actually is, and why it is not automatically theft
&lt;/h2&gt;

&lt;p&gt;Brand bidding is an affiliate buying paid search ads against your own brand terms, your name, your misspellings, your product names, and the modifier phrases like "brand coupon" or "brand discount", so that the click on the way to you gets attributed to them.&lt;/p&gt;

&lt;p&gt;It matters to state clearly that this is not inherently fraud, because treating it as fraud is how these conversations go wrong. Some programs allow it deliberately. If your brand terms are being bid on by genuine competitors and you have decided not to defend them yourself, a partner holding that ad slot is doing you a service. If you are entering a market where you have no search presence at all, a partner with an established account can hold ground faster than you can.&lt;/p&gt;

&lt;p&gt;The problem is not the activity. The problem is the activity happening &lt;strong&gt;without your knowledge, on terms you did not set, paid for by you twice.&lt;/strong&gt; Twice, because two separate costs land:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The commission.&lt;/strong&gt; You pay a percentage on a sale you were going to get.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The auction.&lt;/strong&gt; The partner is now a competing bidder on your own brand keyword. Brand terms are usually the cheapest inventory you own, because you are the most relevant advertiser for your own name and nobody else is bidding. Add one determined bidder and that stops being true. Your cost per click on your own name rises, and it keeps rising as long as they stay.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The second cost is the one people miss, and it is often the larger one. It is also the one that persists after you have terminated the partner, because auction history does not reset the day you send the email.&lt;/p&gt;

&lt;h2&gt;
  
  
  The first check: your own brand cost per click over time
&lt;/h2&gt;

&lt;p&gt;Before you look at a single affiliate report, open your search account and chart cost per click on your brand campaign for the last twelve months.&lt;/p&gt;

&lt;p&gt;You are looking for a step, not a slope. Brand CPC drifting up across a year is normal, more competitors, more seasonality, a changing mix of query types. What indicates a new bidder is a &lt;strong&gt;step change that starts on a particular week and does not come back down.&lt;/strong&gt; Someone entered the auction and stayed.&lt;/p&gt;

&lt;p&gt;Then overlay impression share on the same campaign. The signature of a competing bidder is unmistakable once you know it: absolute top impression share falls, lost impression share to rank rises, and cost per click rises, all in the same week. If your budget did not change and your bids did not change, something else entered the auction.&lt;/p&gt;

&lt;p&gt;This check is worth doing first because it is the only one that tells you &lt;em&gt;when&lt;/em&gt; it started, and the start date is what you will need later when you are arguing about how much commission to reverse. If you skip straight to detection and find the ad today, you have a violation. If you find the week the CPC stepped, you have a violation with a date attached, and those are very different negotiating positions.&lt;/p&gt;

&lt;p&gt;The mechanics of reading CPC, impression share and the rest of the paid-search vocabulary are in &lt;a href="https://dev.to/post/marketing-metrics-explained-cpc-cpm-ctr-cpa-and-roas-in-plain-english/"&gt;marketing metrics explained: CPC, CPM, CTR, CPA and ROAS in plain English&lt;/a&gt; if any of those terms are doing more work than they should be.&lt;/p&gt;

&lt;h2&gt;
  
  
  The second check: auction insights, which names them for you
&lt;/h2&gt;

&lt;p&gt;Run the auction insights report on your brand campaign, because it lists the domains competing with you in the same auctions.&lt;/p&gt;

&lt;p&gt;This is the fastest route to a name. &lt;a href="https://support.google.com/google-ads/answer/2579754" rel="noopener noreferrer"&gt;Google's auction insights report&lt;/a&gt; shows you which other advertisers appeared in the same auctions as your campaign, along with how often they were there and how often they outranked you. Segment it by month and you can usually see the exact month a new domain appears.&lt;/p&gt;

&lt;p&gt;Two cautions on reading it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The domain shown may not be the partner's domain.&lt;/strong&gt; Sophisticated brand bidders run from a domain that has nothing obvious to do with their affiliate identity, and some run through an agency account. A name you do not recognise is a lead, not a conclusion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Absence is not proof.&lt;/strong&gt; Auction insights has a minimum activity threshold, so a partner running a small, tightly-scheduled campaign, a few hours a day, one city, may never surface in it at all. This is not a hypothetical evasion; scheduling and geo-narrowing is precisely how an experienced brand bidder stays under a brand manager's radar while still capturing meaningful volume.&lt;/p&gt;

&lt;p&gt;Which is why the next check exists.&lt;/p&gt;

&lt;h2&gt;
  
  
  The third check: look at the actual results, properly
&lt;/h2&gt;

&lt;p&gt;Search your own brand name the way a customer would, from the places your customers actually are, and understand why your first attempt will show you nothing.&lt;/p&gt;

&lt;p&gt;If you search your own brand from your office, on your work machine, signed into an account that has clicked your own ads a hundred times, you are the worst possible observer. Personalisation, location and prior behaviour all shape what you get. More importantly, a competent brand bidder has already excluded your office IP range and your city from their targeting, because the first thing anyone doing this at scale learns is not to serve the ad to the brand's own staff.&lt;/p&gt;

&lt;p&gt;So run it deliberately:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Vary this&lt;/th&gt;
&lt;th&gt;Why it matters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Geography&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ads are often geo-narrowed to a few high-value cities, or narrowed to &lt;em&gt;exclude&lt;/em&gt; the city your office is in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Device&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Mobile and desktop are separate auctions with different competitive sets, and mobile is where coupon-intent traffic concentrates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Time of day&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ad scheduling is the cheapest way to stay invisible; a campaign running 9pm to 1am will never be seen during your working day&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Query shape&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;"brand" behaves completely differently from "brand coupon", "brand discount", "brand review", "brand login" and common misspellings&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That last row is the one that finds most of them. Bidding on the bare brand term is conspicuous and expensive. Bidding on &lt;strong&gt;"brand" plus a modifier&lt;/strong&gt; is where the money actually is, because a person searching "brand discount code" has the highest purchase intent of anyone in your funnel and the lowest chance of being noticed by you. Check the modifier set explicitly. If you check only your bare brand name, you will find nothing and conclude you are clean.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fourth check: read the ad, then read the redirect
&lt;/h2&gt;

&lt;p&gt;When you do find an ad, the ad copy and the link chain will usually tell you who it is before you have to ask anyone.&lt;/p&gt;

&lt;p&gt;Work down this list:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The display URL.&lt;/strong&gt; Affiliates frequently display your domain, that is the whole point, it is what makes the ad convert. But the display path underneath it often carries something that is not yours.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The bolded text.&lt;/strong&gt; Google bolds terms matching the query. An ad written by your own team and an ad written by a coupon site read differently once you are looking; the affiliate version is almost always more aggressive about discount language than your brand guidelines allow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The final URL, after the redirect completes.&lt;/strong&gt; Click it, then read the address bar on the page you land on. If there is a tracking parameter that belongs to your affiliate program, the network's click ID, a partner ID, an &lt;code&gt;aff_id&lt;/code&gt;-style value, you have your answer directly. Compare that value against your partner list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The chain in between.&lt;/strong&gt; Right-click, copy the ad's link, and inspect where it goes before it reaches you. A direct-linking affiliate sends the click through the network and into your site in one visible hop. A cloaking affiliate bounces it through a landing page designed to be shown to Google's reviewers but not to real traffic.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the parameter identifies the partner, stop investigating and start documenting. Take screenshots with the query, the location and the timestamp visible, and save the full redirect chain as text. You will need it, because the partner's first response is very often that you must have seen a competitor's ad, or that it was a rogue sub-affiliate, or that it was one test that has since been turned off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the network will not do this for you
&lt;/h2&gt;

&lt;p&gt;The network is not a neutral referee. It is paid a percentage of the volume the partner generates.&lt;/p&gt;

&lt;p&gt;This is the structural point that explains almost every frustrating conversation you will have on this topic. Networks generally have a policy on brand bidding, will enforce it when you present evidence, and are perfectly professional about it. What they will not do is &lt;strong&gt;proactively hunt for it on your behalf&lt;/strong&gt;, because the traffic in question is revenue for them too. Your account manager's incentive is aligned with volume, and this violation increases volume.&lt;/p&gt;

&lt;p&gt;The consequence is practical, not moral: &lt;strong&gt;detection is your job.&lt;/strong&gt; Assume nobody upstream is going to raise their hand. This is the same category of problem as the payout discrepancies in &lt;a href="https://dev.to/post/affiliate-tracking-breaks-quietly-catch-it-before-payout-day/"&gt;how affiliate tracking breaks quietly&lt;/a&gt;, the counterparty is not lying to you, but they are also not going to discover the problem for you, and every day you do not check is a day the number compounds.&lt;/p&gt;

&lt;h2&gt;
  
  
  The contract clause, and why yours probably does not work
&lt;/h2&gt;

&lt;p&gt;The single most common reason a brand cannot recover anything is that its affiliate terms prohibit brand bidding in a sentence too vague to enforce.&lt;/p&gt;

&lt;p&gt;"Affiliates may not bid on our trademarks" is the usual wording and it fails in four separate ways. A usable clause has to do all of the following:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Name the protected terms explicitly.&lt;/strong&gt; Not "our trademarks", an actual list: the brand name, its common misspellings, the domain with and without the TLD, product names, and the brand-plus-modifier set (coupon, discount, promo code, review, login, sign in, official, customer care). If it is not named, expect to argue about whether it was covered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Say what is prohibited, precisely.&lt;/strong&gt; Bidding on the term as a keyword is one thing. Using it in ad copy is another. Using it in the display URL is a third. Bidding on it in &lt;em&gt;any&lt;/em&gt; paid platform, search, shopping, marketplace ads, app store ads, rather than only Google. And critically: prohibiting the keyword but permitting a broad-match campaign that catches it anyway is a loophole you will meet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cover negative-keyword obligations.&lt;/strong&gt; The enforceable version of this clause does not just say "do not bid." It says the partner must maintain your protected terms as &lt;strong&gt;negative keywords&lt;/strong&gt; in every campaign. That converts a difficult argument about intent into a simple, checkable, binary state, either the negatives are in the account or they are not. Ask for a screenshot of the negative list. A partner acting in good faith sends it in an hour.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;State the consequence, with a number.&lt;/strong&gt; Warning, then reversal of commissions attributable to the traffic, then suspension. Without a stated remedy, the reversal is a negotiation. With one, it is a term the partner agreed to.&lt;/p&gt;

&lt;p&gt;If your current terms fail these tests, fix the terms &lt;em&gt;before&lt;/em&gt; you open the conversation with the partner. A clause you strengthen after the fact does not apply retroactively, and going in with a weak clause and a strong accusation is how you end up with no recovery and no partner.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to actually do when the partner is your biggest one
&lt;/h2&gt;

&lt;p&gt;Decide what outcome you want before you send anything, because the instinct, terminate immediately, is usually the wrong commercial call.&lt;/p&gt;

&lt;p&gt;Here is the uncomfortable arithmetic. If this partner is a meaningful share of your affiliate revenue, some of that revenue is real. They almost certainly do genuine work as well: content, an audience, email, placements that produce customers who had never heard of you. The brand-bidding traffic is a layer on top of that, not the whole relationship. Terminating removes both, and it removes the incremental part along with the parasitic part.&lt;/p&gt;

&lt;p&gt;If you want to know the split rather than argue about it, pausing this one partner for four weeks and watching &lt;em&gt;total&lt;/em&gt; orders — not the partner's own reported conversions — is the cheapest genuine experiment available to you, and it is small enough that the downside is affordable. &lt;a href="https://dev.to/post/running-an-incrementality-test-when-you-cannot-switch-spend-off/"&gt;Running an incrementality test when you cannot afford to switch spend off&lt;/a&gt; sets out how to read that result and the traps that make a small test produce a confident wrong answer.&lt;/p&gt;

&lt;p&gt;So work it in this order:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Quantify before you accuse.&lt;/strong&gt; Split their volume into brand-driven and everything else. The redirect parameters and landing pages usually make this separable, brand-bid clicks arrive from paid search on a brand query and convert almost immediately; genuine content traffic has a different referrer, a different time-to-conversion and a different device mix. You need this split anyway, because it is the only way to know whether you are having a small conversation or a large one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Open with the negative-keyword request, not the accusation.&lt;/strong&gt; "We are tightening brand-term policy across the program. Please confirm our protected terms are set as negatives in your accounts and send confirmation by Friday." A partner who is not doing it complies in an hour. A partner who is doing it either complies, in which case the behaviour stops, which is the actual objective, or starts negotiating, which tells you everything without you having made an allegation you might have to walk back.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Set the go-forward rule before arguing about the past.&lt;/strong&gt; Stopping the bleed is worth more than winning the historical argument, because the auction cost keeps accruing daily while a commission dispute is a fixed number that is not getting bigger. Get the negatives in place first. Then discuss reversals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. On reversals, ask for what is provable.&lt;/strong&gt; The traffic you can tie to a specific paid brand click on a specific date, with the screenshot and the parameter. Not a round-number estimate of the whole period. Provable claims get paid; estimates get argued for three months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Consider a differentiated rate instead of termination.&lt;/strong&gt; This is the option most brands never consider and it is frequently the right one: a materially lower commission on brand-term and coupon-driven conversions, and the full rate on everything else. It aligns the partner's incentive with the behaviour you actually want, keeps the genuine volume, and removes the reason to do it. It also, usefully, sidesteps the argument about whether the past traffic was incremental, you are changing the price of a category, not accusing a person.&lt;/p&gt;

&lt;p&gt;That is the same reasoning as any commercial term in a partner agreement: &lt;a href="https://dev.to/post/attribution-windows-are-a-commercial-term-not-a-technical-setting/"&gt;attribution windows are a commercial term, not a technical setting&lt;/a&gt;. What you pay for, and what you pay less for, is a decision you make and write down, not a default you inherit from the platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  The policy positions, and which one to pick
&lt;/h2&gt;

&lt;p&gt;There are four workable positions on brand bidding, and the mistake is not picking the wrong one, it is not picking one at all.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Position&lt;/th&gt;
&lt;th&gt;What it says&lt;/th&gt;
&lt;th&gt;Fits you when&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Prohibited&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No partner bids on protected terms in any paid channel&lt;/td&gt;
&lt;td&gt;You have strong organic and paid presence on your own name and the terms are cheap to hold&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Trademark-only&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Bare brand prohibited, brand-plus-modifier allowed&lt;/td&gt;
&lt;td&gt;You cannot economically cover the long tail of coupon and review queries yourself&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Whitelist&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Prohibited by default, specific partners approved in writing for specific terms&lt;/td&gt;
&lt;td&gt;You want coverage in markets or languages where you have no account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tiered&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Allowed at a lower rate for top-tier partners, prohibited below&lt;/td&gt;
&lt;td&gt;Large program, partners of genuinely different strategic value&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The default recommendation for most businesses is &lt;strong&gt;prohibited, with a written whitelist exception process&lt;/strong&gt;, because it is the only one that makes the answer to "is this partner allowed to do this?" a lookup rather than an argument. But whichever you pick, publish it in the program terms, restate it in the partner onboarding, and put it in the monthly partner email. Enforcement is dramatically easier against a rule the partner has been reminded of four times than against one buried in terms they accepted two years ago.&lt;/p&gt;

&lt;h2&gt;
  
  
  When you should buy a monitoring tool
&lt;/h2&gt;

&lt;p&gt;Buy monitoring when the arithmetic works, and not before, the checks above are free and catch the majority of cases.&lt;/p&gt;

&lt;p&gt;The honest position is that paid monitoring services do something you genuinely cannot do manually: they run brand queries continuously, from many locations and devices, at all hours, which defeats geo-narrowing and ad scheduling. That is real capability. What they are sold on, though, is fear, and the sales conversation will not help you decide.&lt;/p&gt;

&lt;p&gt;The decision rule is straightforward. Monitoring is worth it when &lt;strong&gt;the recoverable commission plus the brand CPC inflation you would prevent exceeds the subscription&lt;/strong&gt;, and you can only estimate that after you have done the manual checks once and found out whether you have a problem at all. Run the free checks first, quarterly, on the modifier set as well as the bare brand. If they keep coming back clean and your brand CPC is stable, you are paying for insurance against a risk you do not currently carry. If they keep finding things, or if you are running a program large enough that manual checks cannot cover the partner list, the tool pays for itself.&lt;/p&gt;

&lt;p&gt;The other thing worth knowing: &lt;a href="https://support.google.com/adspolicy/answer/6118" rel="noopener noreferrer"&gt;Google's trademark policy&lt;/a&gt; lets a trademark owner complain about &lt;em&gt;use of the mark in ad text&lt;/em&gt;, which is a narrower remedy than most people assume. Bidding on your trademark as a keyword is generally permitted by the platform in most regions; using it in the ad copy is what the complaint process addresses. So the platform complaint is a supplement to your contract, not a replacement for it. &lt;strong&gt;Your leverage is commercial, not platform-level.&lt;/strong&gt; The contract is the instrument that actually works.&lt;/p&gt;

&lt;h2&gt;
  
  
  The check to run every quarter
&lt;/h2&gt;

&lt;p&gt;Put four things in a recurring calendar entry and the whole problem stays small:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Brand campaign CPC and impression share, charted over twelve months.&lt;/strong&gt; Looking for a step, not a slope.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auction insights on the brand campaign, segmented by month.&lt;/strong&gt; Looking for a new domain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manual searches on the modifier set&lt;/strong&gt;, coupon, discount, promo code, review, login, from at least two cities and both devices, outside working hours.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Negative-keyword confirmations from your top partners by revenue.&lt;/strong&gt; One email, screenshot in reply.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That takes under an hour a quarter and it is the entire defence. The reason it works is that brand bidding is not a permanent state, partners test it, and if nothing happens, they scale it. The quarterly check catches it in the testing phase, when the commission at stake is small and the conversation is easy.&lt;/p&gt;

&lt;p&gt;Two related things are worth auditing on the same schedule, because they fail the same way, quietly, in a system somebody else owns. One is whether you actually control the accounts this evidence lives in, covered in &lt;a href="https://dev.to/post/who-owns-the-ad-account-the-access-audit-every-founder-should-run/"&gt;who owns the ad account&lt;/a&gt;. The other is the reconciliation habit itself: the discipline of comparing what a partner reports against what your own systems observed, rather than accepting one number because it arrived in a nicely formatted email. Partners are not usually dishonest. But nobody else in the chain is paid to find your problems, and a metric that only ever gets read in the counterparty's dashboard is a metric that will eventually surprise you.&lt;/p&gt;

</description>
      <category>performance</category>
      <category>affiliate</category>
    </item>
    <item>
      <title>Your Brand Is Whatever Your Worst Touchpoint Is</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Thu, 01 Oct 2026 16:25:07 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/your-brand-is-whatever-your-worst-touchpoint-is-4o1k</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/your-brand-is-whatever-your-worst-touchpoint-is-4o1k</guid>
      <description>&lt;p&gt;Your brand isn't the deck. It isn't the tagline you tested with three friends. It isn't the colour your designer talked you out of. Your brand is whatever the last painful thing your customer touched was, and it sits in their memory a lot longer than anything you paid for.&lt;/p&gt;

&lt;p&gt;Accept that sentence, and something practical follows. A brand audit isn't a workshop. It's a Tuesday afternoon, three hours, and a spreadsheet. You buy from yourself. You email your own support. You read your own invoice. You write down every point where the experience of dealing with you slid below the promise on the homepage. Then you rank those points by how many customers hit them, and you fix from the top down.&lt;/p&gt;

&lt;p&gt;That's the whole exercise. This post is the operating manual for running it. More usefully, it's the ranked list of what to fix, in the order it actually matters. Which is almost never the order the brand deck says to fix things in.&lt;/p&gt;

&lt;p&gt;In practice most brand work orders the problem backwards. Positioning first. Palette second. The signup form somewhere around item nine. The customer walks the funnel in the opposite direction and remembers the funnel, not the positioning. The audit exists to invert that order for you before a customer has to.&lt;/p&gt;

&lt;h2&gt;
  
  
  The definition that makes this cheap
&lt;/h2&gt;

&lt;p&gt;The industry has spent twenty years training founders to think about brand as the sum of a positioning statement, a visual identity system, a tone of voice guide, and a handful of "brand values" mounted on a wall. All of those things exist. None of them is where your brand lives.&lt;/p&gt;

&lt;p&gt;Your brand lives in the seven interactions a customer had with you last week. It's written into their memory by whichever of those seven was the most painful. The homepage they saw for a total of nine seconds doesn't overwrite the six-minute checkout that timed out twice. The founder's LinkedIn post about "obsessing over customers" doesn't overwrite the support ticket that took four days to receive an autoresponder and then closed without an answer.&lt;/p&gt;

&lt;p&gt;Once you accept this, three things follow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The brand deck is the wrong instrument to audit brand with.&lt;/strong&gt; It measures the promise. It doesn't measure the delivery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The single worst touchpoint has disproportionate weight.&lt;/strong&gt; Averages hide it. A journey with one nine-out-of-ten moment and one two-out-of-ten moment doesn't average to a six. The two-out-of-ten is what gets told at dinner.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The audit doesn't need a consultant.&lt;/strong&gt; Everything a consultant would surface is already there for you to find, if you're willing to be your own worst customer for three hours.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Honestly, that third one is the barrier most founders never clear.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tuesday-afternoon audit, in order
&lt;/h2&gt;

&lt;p&gt;You need a burner email address. A real payment method. A notebook. And the discipline to write down what actually happens rather than what should happen. Don't tell anyone in your company you're doing this. If your team performs for the audit, the audit measures the performance, not the business.&lt;/p&gt;

&lt;p&gt;Walk the funnel in the order a stranger would. Not the order you built it in. Not the order your analytics dashboard displays it in. The order a person who has never heard of you would step through it, one screen at a time, from the search bar all the way to the refund inbox.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Find you
&lt;/h3&gt;

&lt;p&gt;Type the query a customer would type. Not your brand name. Your brand name is a search that has already succeeded. Type the problem. Type the category. Type the mistake they're trying to avoid.&lt;/p&gt;

&lt;p&gt;Note down:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where you appear. Do you appear? On what page?&lt;/li&gt;
&lt;li&gt;What appears next to you. If you look like the other three results, that's a piece of information.&lt;/li&gt;
&lt;li&gt;What you look like in the SERP snippet. Is your description the one you wrote, or the one Google generated because yours was too generic to keep?&lt;/li&gt;
&lt;li&gt;Whether you have a rich result. A review count. A FAQ. An image. Missing this is common. Every competitor who has one is one shopper's worth of attention ahead of you.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Land on you
&lt;/h3&gt;

&lt;p&gt;Click your result. Time the load on your phone, not your desktop. Watch the layout while it settles. Does the hero text move as the fonts arrive? Does an ad, a popup, or a chat bubble land on top of the primary CTA within four seconds?&lt;/p&gt;

&lt;p&gt;Read the first sentence above the fold and ask, out loud, whether it tells a stranger what you sell and to whom. Most founder homepages fail this test. The reason is boring. Founders read their homepages so often the words have stopped meaning anything to them.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Try to buy
&lt;/h3&gt;

&lt;p&gt;For a product business, add to cart. For a service business, request a proposal. For a SaaS, start the trial. For a content business, subscribe.&lt;/p&gt;

&lt;p&gt;Note every friction:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How many form fields.&lt;/li&gt;
&lt;li&gt;How many of those fields you had to guess the format for. Phone number with or without a country code. Address in one field or four.&lt;/li&gt;
&lt;li&gt;Whether the payment method you meant to use was even present.&lt;/li&gt;
&lt;li&gt;What happens the moment you submit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last one is the one nobody watches. A confirmation page that says "Thank you" and nothing else is a lost opportunity for the highest-attention moment you'll ever have with a customer. Which is the fifteen seconds after they've just given you their money.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Wait
&lt;/h3&gt;

&lt;p&gt;For a physical product, wait for shipping. For a service, wait for the first response. For a SaaS, wait for the first email in the onboarding sequence.&lt;/p&gt;

&lt;p&gt;Time how long. Read every email that lands during the wait. Check whether the tone of the transactional emails matches the tone of the marketing emails. Almost nowhere does it match. The marketing emails were written by the founder. The transactional emails were written by whoever set up the payment processor in 2022.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Use
&lt;/h3&gt;

&lt;p&gt;Use the thing. Actually use it, for the actual reason a customer would.&lt;/p&gt;

&lt;p&gt;If it's software, do the first task you promised on the homepage. Count the clicks. Count the tabs. Count how many times you had to leave the product to look up how to do the next step.&lt;/p&gt;

&lt;p&gt;If it's a service, be the client. Are the meetings on time? Is the deliverable in the format the sales conversation said it would be? Is the invoice line item consistent with what you agreed?&lt;/p&gt;

&lt;p&gt;If it's a physical product, unbox it and use it. Alone. Nobody helping. Nobody watching over your shoulder telling you "the picture on page nine of the manual makes it obvious."&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Break it, deliberately
&lt;/h3&gt;

&lt;p&gt;Now break it. On purpose.&lt;/p&gt;

&lt;p&gt;Send an email to support with a question you know the answer to, and time the response. Send a follow-up. Reply-all to a marketing email and see whether anyone reads the reply, or whether it disappears into an unmonitored inbox.&lt;/p&gt;

&lt;p&gt;Cancel. Try to cancel. Note whether the cancellation flow is proportionate to the sign-up flow, or three times longer, three times more confusing, and designed by someone whose bonus was tied to retention.&lt;/p&gt;

&lt;p&gt;Ask for a refund. See whether the refund actually processes without a human intervening. If a human has to intervene, note that. You've discovered that your refund policy is written on the website and enforced by whoever happens to check that inbox next.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Post-purchase
&lt;/h3&gt;

&lt;p&gt;Wait a week. See what lands in the inbox during that week. Is it a useful piece of content that acknowledges you're now a customer, or is it the same acquisition sequence that treats you like a stranger who has never heard of the brand?&lt;/p&gt;

&lt;p&gt;Check whether anybody actually asked for feedback. Not an NPS survey with a canned form. A note from a human that says "we noticed you did the thing, how did it go." This is done by roughly nobody. Which is why doing it moves the needle.&lt;/p&gt;

&lt;h2&gt;
  
  
  The ranked list of what to fix
&lt;/h2&gt;

&lt;p&gt;After a three-hour walk, you'll have a spreadsheet of thirty-something things. Most are annoying. A few are business-shaping. The whole point of the audit is knowing which is which. Everyone with a spreadsheet has a temptation to fix the easy ones first and never get to the hard ones.&lt;/p&gt;

&lt;p&gt;Rank the list by two axes, in this order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;How many customers hit this touchpoint.&lt;/strong&gt; A broken step in the checkout hits every customer. A broken step in "recover a forgotten password on the annual renewal" hits about six people a year. The maths is unromantic and it's right.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How much worse the customer's experience of the brand becomes because of this touchpoint.&lt;/strong&gt; A one-second layout shift on the homepage hits everyone and lowers no one's opinion of you. A confirmation email that arrives with the wrong customer's name in it hits everyone who bought something and lowers everyone's opinion of you by an unrecoverable amount.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Multiply the two. Sort descending. Fix in that order.&lt;/p&gt;

&lt;p&gt;The list that comes out of this exercise is almost never the list the brand deck produces. Worth saying plainly, because it's the whole reason the audit is worth three hours of any founder's time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The list the brand deck produces
&lt;/h2&gt;

&lt;p&gt;The brand deck's list starts with the logo. Then the wordmark. Then the palette. Then the type system. Then the tone-of-voice document. Then a big section on "brand values" written to be shown to investors and never read again.&lt;/p&gt;

&lt;p&gt;None of these is on the walk-your-own-funnel list. Not because they don't matter. They do. The customer's memory of your brand isn't being formed by the logo though. It's being formed by the fact that the confirmation email arrives 40 minutes late, in Times New Roman, from a &lt;code&gt;no-reply@&lt;/code&gt; address that bounces when they hit reply. The reason the confirmation email is in Times New Roman despite the deck specifying Inter, of course, is that the deck is a specification and specifications are not what teams actually reach for. &lt;a href="https://dev.to/post/a-brand-kit-nobody-follows-is-just-a-pdf/"&gt;A brand kit nobody follows is just a PDF&lt;/a&gt; covers the five rules that survive contact with a real team. Locking the transactional-email template is exactly the shape of fix that comes out of it.&lt;/p&gt;

&lt;p&gt;The brand deck's list is the list of things a designer can be paid to fix. The walk-your-own-funnel list is the list of things a founder has to notice, own, and route to whichever member of the team has the authority to actually change them. Which is often not the marketing team. Which is why brand-audit content that stops at "here is a checklist for your marketing team" is worse than nothing. It routes the work to the wrong department.&lt;/p&gt;

&lt;h2&gt;
  
  
  The list the walk actually produces
&lt;/h2&gt;

&lt;p&gt;Most of the time, in most businesses, the ranked list looks something like this. It's not a template. Do your own audit. But if your list looks nothing like this, that's worth interrogating too:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A missing acknowledgement at a moment of high emotion.&lt;/strong&gt; The order arrived and nobody said thank you. The refund was processed and nobody explained why the last email was the one that ended the relationship. The support ticket was resolved and nobody asked whether the resolution actually worked. The first seven days after purchase are the biggest instance of this pattern. The specific interventions that fix it (a founder's DM, a handwritten card, a day-7 check-in that offers to fix rather than to measure) sit in &lt;a href="https://dev.to/post/the-first-week-of-a-customer-relationship-is-a-brand-asset-most-companies-forfeit/"&gt;the first week of a customer relationship is a brand asset most companies forfeit&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A tonal jarring between what marketing writes and what the system says.&lt;/strong&gt; The homepage promises "we treat you like a partner". The invoice says "PAY IMMEDIATELY. LATE FEES APPLY".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A friction point that the metric hides.&lt;/strong&gt; Add-to-cart works. The next step, in some browsers, times out at ten seconds. Your cart-abandon rate looks normal for the industry. You've never bothered to instrument the transition because in the browser you tested in, it works fine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A form field that requires knowledge the customer does not have.&lt;/strong&gt; The GST field is mandatory and there's no explanation of what to type if the customer is a household. The pincode is required before you know whether you deliver to that pincode.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A response-time gap that's longer than the customer's tolerance.&lt;/strong&gt; Not longer than your SLA. Longer than what the customer thinks is reasonable at that stage of the relationship. A pre-sale question that takes 48 hours to answer has the same shape as a bank pretending to be a startup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An email address that looks like &lt;code&gt;noreply@&lt;/code&gt; at the moment the customer most wants to reply.&lt;/strong&gt; The order confirmation. The refund notification. The renewal alert. All of them, unreplyable, in a channel where the customer already has a keyboard open.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A cancellation flow disproportionate to the sign-up.&lt;/strong&gt; This is the exact asymmetry the &lt;a href="https://www.ftc.gov/news-events/news/press-releases/2024/10/federal-trade-commission-announces-final-click-cancel-rule-making-it-easier-consumers-end-recurring" rel="noopener noreferrer"&gt;FTC's Click-to-Cancel rule&lt;/a&gt; targeted for US subscription businesses in 2024. You give up two clicks to sign up and eleven clicks and a phone call to cancel. This doesn't increase retention. It increases the number of customers who cancel by writing a chargeback letter, which is a different problem entirely, and one your brand can't afford.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I have not, in the audits I have run for myself and been asked to run for others, seen a top-of-list that started with "the logo needs a refresh".&lt;/p&gt;

&lt;h2&gt;
  
  
  Cheap fixes that move the whole audit
&lt;/h2&gt;

&lt;p&gt;A small number of interventions move so many entries on the ranked list at once that they're worth doing on the same afternoon as the audit.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Turn &lt;code&gt;noreply@&lt;/code&gt; into a monitored inbox.&lt;/strong&gt; Not "reply@" that goes to another team's junk folder. A real inbox that a real person checks daily and that stays with the founder for the first six months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write one paragraph, one, that's used on every transactional email as the header.&lt;/strong&gt; Same voice as the homepage. It stops the tonal jarring on point 2 above without anyone having to rewrite the whole email system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add one line to the order confirmation that says "here is what happens next, and here is when to worry if it hasn't."&lt;/strong&gt; This single sentence collapses your inbound support volume more than any technology decision you'll make this year.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instrument the transition every step depends on, not just the steps.&lt;/strong&gt; Add a heartbeat between add-to-cart and the checkout page. Add a heartbeat between "submit form" and "receive first email". The transitions are where the funnel actually breaks. The pages themselves are almost always fine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delete one form field.&lt;/strong&gt; Any one. The one you can't justify. Watch what happens to conversion. Repeat until you find the field you can't delete.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these is a rebrand. None of them requires a workshop. All of them can be shipped by Friday.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rhythm
&lt;/h2&gt;

&lt;p&gt;The audit is not a project. It's a rotation.&lt;/p&gt;

&lt;p&gt;Do it once a quarter. Change the burner email address each time. Do it from a different device. Do it in the persona of a different customer. The impatient enterprise buyer one quarter. The confused first-time shopper the next. The returning customer with a complaint the next.&lt;/p&gt;

&lt;p&gt;Write the audit up briefly and keep it. Not a report. A diary. Three lines per touchpoint: what happened, what should have happened, what you did about it. In a year you'll have a document that tells you how the customer experience actually evolved, not how the marketing narrative said it did.&lt;/p&gt;

&lt;p&gt;The reason to do it quarterly and not annually is that the failures compound. A confirmation email that starts arriving late in March, unnoticed, is a six-month reputational tax by September. The audit is the check that closes that window.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that is uncomfortable
&lt;/h2&gt;

&lt;p&gt;The reason most founders never do this exercise isn't that they're too busy. It's that they know, in advance, exactly what they'll find. And they know that what they'll find will be a set of small, unglamorous problems they should have fixed nine months ago.&lt;/p&gt;

&lt;p&gt;The audit doesn't reward strategy. It rewards paying attention. That's an uncomfortable trade for a founder who prefers the shape of decisions to the shape of chores.&lt;/p&gt;

&lt;p&gt;If you've read this far and are quietly compiling reasons why the audit won't tell you anything you don't already know, that's exactly the reason to run it this Tuesday. You're already carrying the knowledge that something is broken. The audit is the exercise that lets you name it, rank it, and hand it to somebody with the authority to fix it.&lt;/p&gt;

&lt;p&gt;The alternative is what most brands do. Spend the same three hours choosing between two variants of a logo and pretend that choice is what will move the needle. It won't. The needle is being moved, right now, by whichever touchpoint in your funnel is the one your customer will remember longest. Find it before you find out about it from a review site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this sits with the rest of the work
&lt;/h2&gt;

&lt;p&gt;The audit is a diagnostic, not a strategy. It tells you where the promise is diverging from the delivery. What it doesn't tell you is whether the promise itself is the right one. When the answer is that the promise is fine and the delivery is broken, this exercise is exactly what you should be running. When the answer is that the promise itself is the problem, that's a different conversation, and it's the one covered in &lt;a href="https://dev.to/post/when-performance-marketing-stops-working-and-brand-is-the-only-lever-left/"&gt;When performance marketing stops working and brand is the only lever left&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The audit also has an obvious neighbour: the distinction between a founder's personal brand and the company's brand. A founder audit, walking your own inbox, your own DMs, your own reply-all thread, is a related exercise, and one worth doing at the same time. That decision sits in &lt;a href="https://dev.to/post/personal-brand-vs-company-brand-which-should-you-build-first/"&gt;Personal brand vs company brand: which should you build first&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Finally, if you're wondering how any of this connects to distribution, the honest answer is that it connects tightly. The audit lifts the ceiling on every channel you already run. A brand whose worst touchpoint is a two-day support delay is throttling every acquisition programme it has. A fraction of every cohort tells someone else about that delay. Fixing it is the highest-leverage marketing work available, and it costs you an afternoon. That thread is picked up in &lt;a href="https://dev.to/post/how-to-grow-your-brand-using-digital-channels/"&gt;How to grow your brand using digital channels&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How long should the audit actually take the first time I run it?
&lt;/h3&gt;

&lt;p&gt;Block three hours end-to-end for a first pass. Enough to walk the funnel without rushing. Short enough that you can't use "no time" as the reason you never do it. If you finish in ninety minutes you skipped a step. If it stretches past four hours you've started fixing things instead of noting them, which is a different job.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I tell my team I'm running the audit, or do it silently?
&lt;/h3&gt;

&lt;p&gt;Do it silently. If the team knows the audit is happening they'll performance-fix the obvious things in the twenty-four hours before you buy from yourself, and you'll measure the performance rather than the business. Share the ranked list afterwards. Keep the walk itself private.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many touchpoints usually end up on the list, and how many should I fix?
&lt;/h3&gt;

&lt;p&gt;A first audit typically surfaces around thirty entries. Fix the top three by Friday and add another two per week until the list is drained. Trying to fix all thirty at once is how audits become quarterly rituals that ship nothing.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if the worst touchpoint sits with a team I don't own, legal, finance, ops?
&lt;/h3&gt;

&lt;p&gt;Route it there anyway, with the audit note attached, and treat routing as the fix on your side. The whole point of the exercise is that customer memory doesn't respect your org chart. A broken invoice from finance damages the brand exactly as much as a broken homepage from marketing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I audit one persona per quarter, or try to cover several in one sitting?
&lt;/h3&gt;

&lt;p&gt;One persona per quarter. Trying to be the impatient enterprise buyer, the confused first-timer, and the returning complainer in the same afternoon collapses into an average customer who doesn't exist. And averages are what hid the worst touchpoint in the first place.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if I find something during the audit that I can fix in ten minutes, do I stop and fix it?
&lt;/h3&gt;

&lt;p&gt;No. Write it down and keep walking. The value of the audit is the ranked list. If you break stride to patch a broken email footer you'll never see the confirmation-page gap two steps later. Fix-Fridays are for fixing. Tuesdays are for noticing.&lt;/p&gt;

&lt;h3&gt;
  
  
  How is this different from an NPS survey or a customer interview?
&lt;/h3&gt;

&lt;p&gt;NPS tells you customers are unhappy and roughly how much. Interviews tell you what customers say they remember. The audit tells you the specific mechanical touchpoint that produced the unhappiness, which is the only one of the three you can hand to someone with the authority to change it by Friday.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do the walk
&lt;/h2&gt;

&lt;p&gt;Block three hours next Tuesday. Buy from yourself. Email your own support. Read your own invoice. Rank what you find by how many customers hit it and how much worse it makes them feel about you. Fix the top three by Friday.&lt;/p&gt;

&lt;p&gt;Then repeat it in ninety days.&lt;/p&gt;

&lt;p&gt;Your brand is whatever your worst touchpoint is. The audit is the shortest path between now and knowing which one that is. Nothing else in the brand-building playbook produces a shorter route to fixing something a customer would actually notice.&lt;/p&gt;

</description>
      <category>brand</category>
      <category>building</category>
    </item>
    <item>
      <title>Will AI Take My Job? A Practical Way to Think About It</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Wed, 30 Sep 2026 15:54:03 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/will-ai-take-my-job-a-practical-way-to-think-about-it-1k5i</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/will-ai-take-my-job-a-practical-way-to-think-about-it-1k5i</guid>
      <description>&lt;p&gt;People ask it as a yes or no. It isn't one. Not because nobody knows the answer, but because "job" is the wrong unit to ask about.&lt;/p&gt;

&lt;p&gt;Almost nobody does one thing at work. You do a bundle of tasks, and AI hits each one differently. Some are already mostly automatable. Some are decades out. A few will actually get easier in a way that makes you more valuable, not less. Average all of that into a verdict about your job title and you throw away the information you actually need.&lt;/p&gt;

&lt;p&gt;So here's the useful version. How to work out your own exposure task by task. What genuinely protects a role. What to actually do about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real mechanism: tasks, not jobs
&lt;/h2&gt;

&lt;p&gt;Economists studying automation have used the task-based frame for years. It holds up much better than headline predictions about entire occupations.&lt;/p&gt;

&lt;p&gt;Take a marketing manager. In one week that person might write copy, analyse campaign performance, sit in on a client call, decide which channel gets next quarter's budget, brief a designer, resolve a fight between two teams, and build a report.&lt;/p&gt;

&lt;p&gt;Now grade those one at a time.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Exposure&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Writing first-draft copy&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;High&lt;/strong&gt;, already largely automatable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Building a routine report&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;High&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Analysing performance data&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Moderate&lt;/strong&gt;, assisted not replaced&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Briefing a designer&lt;/td&gt;
&lt;td&gt;Moderate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A client call&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Low&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deciding budget allocation&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Low&lt;/strong&gt;, it carries accountability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resolving a team disagreement&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Very low&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The job isn't automated. Roughly a third of the week is. What happens next isn't redundancy. The role reshapes toward the parts that didn't move, and the person who adapts ends up doing more of the work that was always the valuable bit.&lt;/p&gt;

&lt;p&gt;That's the pattern to expect in most knowledge work. And it's genuinely different from "your job disappears."&lt;/p&gt;

&lt;h2&gt;
  
  
  Score your own exposure
&lt;/h2&gt;

&lt;p&gt;Do this properly. You'll learn more in an hour than from any industry report.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1.&lt;/strong&gt; Write down what you actually did last week, in blocks of roughly an hour. Not your job description. What you did.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2.&lt;/strong&gt; Score each block against four questions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Is the input mostly text or data?&lt;/strong&gt; Text and structured data are where these systems are strong. Physical work, or work that depends on reading a room, is not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is there a clearly correct output?&lt;/strong&gt; Tasks with a verifiable right answer automate faster than judgement calls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Would a mistake be cheap?&lt;/strong&gt; Cheap errors get automated early. Expensive ones keep a human in the loop long after the tech is capable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does it need accountability?&lt;/strong&gt; Someone has to own the decision. A model can't be accountable. Not as a technical limitation. As a structural one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Yes to 1 and 2, plus cheap errors and no accountability, means high exposure. More noes means lower.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3.&lt;/strong&gt; Add up the hours. That percentage is your real answer. Far more useful than "will marketing be automated?"&lt;/p&gt;

&lt;p&gt;Most people find they're somewhere between 20% and 50%. And the exposed half tends to be the half they enjoy least.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually protects a role
&lt;/h2&gt;

&lt;p&gt;Not seniority. Not being technical. Four things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Accountability.&lt;/strong&gt; Someone has to be answerable when a decision goes wrong. That's a legal and organisational requirement, not a capability gap. It won't be automated no matter how good the models get.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Physical presence and dexterity.&lt;/strong&gt; Robotics is moving much slower than language models. Skilled trades, care work, anything unpredictable and physical, are far less exposed than most office work. Which inverts a lot of assumptions people had ten years ago.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Relationships and trust.&lt;/strong&gt; Clients buy from people they trust. Negotiation. Difficult conversations. Reading what someone means instead of what they said. Weakly exposed, all of it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Judgement under ambiguity.&lt;/strong&gt; Not "which option is optimal given clean data". That's automatable. Actual ambiguity is "we have incomplete information, competing priorities and a deadline, what do we do?" That takes context, ownership and nerve.&lt;/p&gt;

&lt;p&gt;Notice these are mostly not technical skills. The common advice to "learn to code" as AI protection is close to backwards. Coding is text-based with verifiable outputs. It's among the more exposed knowledge tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's genuinely at risk
&lt;/h2&gt;

&lt;p&gt;Being honest instead of reassuring, because false comfort is worse than a clear view.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Entry-level text work is being hit first.&lt;/strong&gt; Basic copywriting. Routine content production. First-pass research summaries. Simple data entry and formatting. Not because AI does them better. Because it does them acceptably at a fraction of the cost.&lt;/p&gt;

&lt;p&gt;This creates a real structural problem. Junior roles were how people learned judgement. If those roles thin out, the path to becoming a senior person narrows. That's a genuine issue for the profession, and nobody has solved it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Routine analysis is compressing.&lt;/strong&gt; Not eliminated. But one analyst with good tooling now does what three used to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anything a "good enough" answer satisfies is exposed.&lt;/strong&gt; Where quality has a floor rather than a ceiling. Routine translation. Basic support. Standard documents. Cost wins.&lt;/p&gt;

&lt;h2&gt;
  
  
  The realistic near-term picture
&lt;/h2&gt;

&lt;p&gt;Two things are true at once. Most commentary picks one and ignores the other.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI isn't replacing whole roles at scale right now.&lt;/strong&gt; Deployment is slower than capability. Organisations are bad at process change. Integration is hard. Accountability questions are unresolved. Most companies are using it as an assistant, not a replacement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But the composition of roles is shifting quickly.&lt;/strong&gt; And the people affected first are the ones whose work was mostly in the exposed column. The change usually shows up as "we're not replacing that person who left", not as redundancy.&lt;/p&gt;

&lt;p&gt;So the risk for most people isn't being fired. It's being gradually outpaced by someone doing the same role with the mechanical parts removed. Producing more, faster, for the same salary. That's a competitive risk. And it's addressable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What previous automation waves actually did
&lt;/h2&gt;

&lt;p&gt;Worth knowing, because the pattern repeats and the popular version of it is wrong in both directions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ATMs didn't eliminate bank tellers.&lt;/strong&gt; The usual telling says they did. What actually happened, as James Bessen laid out in his &lt;a href="https://www.imf.org/external/pubs/ft/fandd/2015/03/bessen.htm" rel="noopener noreferrer"&gt;study of ATMs and teller employment&lt;/a&gt;, is that ATMs made branches cheaper to run. So banks opened more of them. Teller numbers held up for years, while the job changed from counting cash to selling products and handling exceptions. The task got automated. The role reorganised around what was left.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spreadsheets didn't eliminate bookkeepers.&lt;/strong&gt; They eliminated the manual arithmetic, which was most of the work. Bookkeeping employment fell over time. Accounting and financial analysis grew. Same skills, applied further up the value chain, to questions instead of sums.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Industrial robots did displace specific manufacturing roles.&lt;/strong&gt; That's the honest counterweight. In some regions the displacement was concentrated, permanent, and not offset locally by new work. Aggregate optimism is little comfort if the loss is in your town and the gain is somewhere else. It's also the wave with the most detail available about which roles went and which grew. &lt;a href="https://dev.to/post/ai-is-heading-toward-autonomy-what-dark-factories-tell-us-about-what-s-next/"&gt;What dark factories actually tell us&lt;/a&gt; works through the conditions that had to hold before a process could run unsupervised. Those conditions turn out to be a fairly precise predictor of exposure.&lt;/p&gt;

&lt;p&gt;So the pattern is neither "nothing happens" nor "everything goes":&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;task&lt;/strong&gt; gets automated, reliably.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;role&lt;/strong&gt; usually survives, reorganised around what didn't automate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aggregate employment&lt;/strong&gt; tends to hold or grow. But not evenly, and not for everyone.&lt;/li&gt;
&lt;li&gt;The people who do badly are those whose work was almost entirely the automated task, with nothing adjacent to move into.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing this time is worth taking seriously. Previous waves mostly automated physical or arithmetic work, and the escape route was to move up into cognitive work. This wave points straight at cognitive work. The escape route runs toward judgement, accountability and physical skill instead. That's a less familiar direction. And it's why the usual advice about reskilling into "knowledge work" is less useful than it was.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to actually do, the next 90 days
&lt;/h2&gt;

&lt;p&gt;Concrete. In order.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Do the exposure audit above.&lt;/strong&gt; An hour. You can't plan against a number you don't have.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Get genuinely fluent with the tools.&lt;/strong&gt; Not dabbling. Pick one recurring task and use AI on it for a month, until you know where it's strong and where it fails. Practitioner-level knowledge of the failure modes is itself a scarce skill. It's the difference between someone who says "I use ChatGPT" and someone who has actually changed how they work. &lt;a href="https://dev.to/post/how-to-actually-use-chatgpt-and-claude-for-real-work"&gt;The practical guide is here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Move deliberately toward the protected column.&lt;/strong&gt; If your week is 60% exposed tasks, volunteer for the work with judgement, client contact and ownership. It's usually available. That work is harder and people avoid it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Learn to automate, not just to prompt.&lt;/strong&gt; Stringing tools together into a workflow is materially more valuable than prompting well. And far fewer people can do it. &lt;a href="https://dev.to/post/how-to-automate-your-work-with-ai"&gt;Start here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Build something that's yours.&lt;/strong&gt; A reputation. An audience. A portfolio. A network. These don't sit inside a job description and can't be reorganised away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Stop competing on volume.&lt;/strong&gt; If your value is producing more words, more decks, more reports, that fight is now unwinnable. Compete on judgement, taste and accountability instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest summary
&lt;/h2&gt;

&lt;p&gt;Will AI take your job? Probably not as one event. It will more likely take a portion of your tasks. What happens after depends on whether you move toward the parts it can't do, or wait to be pushed.&lt;/p&gt;

&lt;p&gt;The people who struggle won't be the ones whose jobs got automated. They'll be the ones who kept doing the exposed 40% by hand, while a colleague automated it and spent the reclaimed time on the other 60%.&lt;/p&gt;

&lt;p&gt;That's a much more manageable problem than the headline version. And it's one you can start on this week.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Will AI replace my job completely?
&lt;/h3&gt;

&lt;p&gt;For most knowledge roles, no. Not as a single event. It automates specific tasks inside a job. The realistic outcome is your role reshaping toward judgement, relationships and accountability, with the mechanical portion shrinking. Whole-role replacement is likeliest where nearly every task is text-based with verifiable outputs and low error cost.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which jobs are most at risk from AI?
&lt;/h3&gt;

&lt;p&gt;Roles concentrated in text and data work with clear right answers and cheap mistakes. Entry-level copywriting. Routine content production. Basic research summarisation. Simple data processing. First-line support. Least exposed: skilled physical trades, care work, and anything centred on accountability, negotiation or judgement under ambiguity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I learn to code to protect my career?
&lt;/h3&gt;

&lt;p&gt;Not as AI protection specifically. Coding is text-based with verifiable outputs, which makes it relatively exposed. Learning to build automations is more useful than learning to write code by hand. The genuinely protective skills are mostly non-technical: judgement, ownership, client relationships.&lt;/p&gt;

&lt;h3&gt;
  
  
  How quickly will this happen?
&lt;/h3&gt;

&lt;p&gt;Capability is moving faster than deployment. Organisations change processes slowly. Accountability questions are unresolved. Expect gradual composition change over years. It'll show up more often as roles not being backfilled than as sudden mass replacement.&lt;/p&gt;

&lt;h3&gt;
  
  
  What skills will still be valuable?
&lt;/h3&gt;

&lt;p&gt;Accountability for decisions. Judgement with incomplete information. Relationships and trust. Physical and situational skill. Practitioner-level knowledge of where AI tools fail. Notably, most of these aren't technical.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is it too late to adapt?
&lt;/h3&gt;

&lt;p&gt;No. Deployment is early and most organisations are barely past experimenting. Someone who becomes genuinely fluent in the next six months is early, not late.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Score tasks, not job titles. Your job is a bundle with wildly different exposure.&lt;/li&gt;
&lt;li&gt;Four tests: text or data input, verifiable output, cheap errors, no accountability needed.&lt;/li&gt;
&lt;li&gt;What protects a role is mostly non-technical: accountability, relationships, physical skill, judgement.&lt;/li&gt;
&lt;li&gt;Entry-level text work is being hit first, which quietly breaks the path to becoming senior.&lt;/li&gt;
&lt;li&gt;The realistic risk is being outpaced by someone using the tools, not being replaced by them.&lt;/li&gt;
&lt;li&gt;Move toward the protected column deliberately, instead of waiting to be pushed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Related reading:&lt;/strong&gt; &lt;a href="https://dev.to/post/the-skills-that-actually-matter-in-the-age-of-ai"&gt;the skills that actually matter in the age of AI&lt;/a&gt;, &lt;a href="https://dev.to/post/how-to-automate-your-work-with-ai"&gt;how to automate your work with AI&lt;/a&gt;, and &lt;a href="https://dev.to/post/why-chatgpt-gives-wrong-answers"&gt;why ChatGPT gives wrong answers&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
    </item>
    <item>
      <title>Why ChatGPT Gives Wrong Answers (and How to Stop It)</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Wed, 30 Sep 2026 15:54:02 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/why-chatgpt-gives-wrong-answers-and-how-to-stop-it-3e1d</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/why-chatgpt-gives-wrong-answers-and-how-to-stop-it-3e1d</guid>
      <description>&lt;p&gt;You asked something. The answer came back polished. Later you found out it was wrong. A statistic that doesn't exist. A citation to a paper nobody wrote. A confident summary of a document that says the opposite.&lt;/p&gt;

&lt;p&gt;The frustrating part isn't the mistake. It's that nothing in the reply &lt;em&gt;looked&lt;/em&gt; like a mistake. No hedge. No wobble. No visible seam. That gap is the thing worth understanding. Once you see why confidence and accuracy have nothing to do with each other, you stop being surprised and start catching things early.&lt;/p&gt;

&lt;p&gt;This is the field guide. What's actually happening under the hood. The six distinct ways answers go sideways. And what to do about each one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one idea that explains most of it
&lt;/h2&gt;

&lt;p&gt;A language model doesn't look things up. It predicts what text should come next.&lt;/p&gt;

&lt;p&gt;That's not a beginner's simplification. It's the actual mechanism. The model has read enormous piles of text. It has learned, in fine detail, which words tend to follow which other words in which contexts. Ask it a question and it generates a response that is &lt;em&gt;statistically plausible&lt;/em&gt; given your question and everything it has ever seen.&lt;/p&gt;

&lt;p&gt;Most of the time, plausible and true sit right on top of each other. That's why the tool works at all. That's why it's genuinely useful. But they're different targets. And when they drift apart, the model picks plausible every time.&lt;/p&gt;

&lt;p&gt;So a fabricated citation looks exactly like a real one. The model isn't fetching a paper and getting it wrong. It's generating text shaped like a citation. Plausible author, plausible journal, plausible year. Because that's what belongs in that slot.&lt;/p&gt;

&lt;p&gt;And here's the part most people miss: &lt;strong&gt;the confident tone is also generated.&lt;/strong&gt; Fluency is a property of the writing. It isn't evidence about the accuracy of the writing. There's no internal "am I sure?" signal being read out. Internalise that one thing and half the problem goes away.&lt;/p&gt;

&lt;h2&gt;
  
  
  The six ways answers go wrong
&lt;/h2&gt;

&lt;p&gt;Treating everything as "hallucination" is why people can't fix any of it. Different causes. Different fixes.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Fabrication, inventing specifics that don't exist
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it looks like:&lt;/strong&gt; citations, statistics, case studies, quotes, product features, legal sections. All plausible. None real.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; the model has learned the &lt;em&gt;shape&lt;/em&gt; of a citation without a database of actual ones. Ask for a source and it produces something correctly shaped.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it bites hardest:&lt;/strong&gt; anything with a precise form. Numbers, names, dates, references, URLs, case law.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; never ask for facts from memory when you can hand them over. Paste the source. Ask questions about the source. When you can't, treat every specific as unverified until you've checked it yourself. And ask directly: &lt;em&gt;"Which parts of this are you confident about, and which should I verify?"&lt;/em&gt; Models are noticeably better at flagging uncertainty when asked than at volunteering it.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Outdated knowledge
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it looks like:&lt;/strong&gt; it confidently describes an old version. A superseded price. A discontinued feature. A rule that changed last year.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; training data has a cutoff. Without a live search step, the model answers from a fixed snapshot of the past.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; for anything time-sensitive, prices, versions, current events, regulations, use a tool with live search turned on. Or supply current information yourself. And put the date in your prompt. It helps the model recognise when its own knowledge might be stale.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Missing context you assumed was obvious
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it looks like:&lt;/strong&gt; a technically fine answer to a subtly different question than the one you meant to ask.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; you carry context the model doesn't. Your industry. Your constraints. Your audience. What you already tried. Ask "is this a good strategy?" and it answers for a generic reader.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; front-load the context. Who you are. What you're trying to do. What constraints apply. What you've already ruled out. Most "wrong" answers are actually correct answers to an under-specified question. This is the most common failure and the easiest to fix.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Agreeing with you when you're wrong
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it looks like:&lt;/strong&gt; you push back. It immediately folds. Even when its original answer was correct.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; these systems are trained partly on human preference, and humans tend to rate agreeable responses highly. Anthropic's own research on &lt;a href="https://www.anthropic.com/research/towards-understanding-sycophancy-in-language-models" rel="noopener noreferrer"&gt;sycophancy in language models&lt;/a&gt; found this bias toward accommodation across every leading assistant they tested.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This one is genuinely dangerous&lt;/strong&gt;, because it feels like the model checked and conceded. It usually didn't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; don't signal the answer you want. Ask &lt;em&gt;"what's the strongest argument against this?"&lt;/em&gt; rather than &lt;em&gt;"isn't it actually X?"&lt;/em&gt; If you do push back and it reverses, ask it to explain &lt;em&gt;why&lt;/em&gt; the first answer was wrong. If the reasoning is thin, the reversal was social, not substantive.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Losing the thread in long conversations
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it looks like:&lt;/strong&gt; it contradicts something you agreed on earlier. It forgets a constraint. It drifts from the format you set.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; models have a finite context window. In a long session, earlier content gets crowded out. And even inside the window, information in the middle is attended to less reliably than material at the start or end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; start a fresh conversation for a new task rather than continuing an old one. Restate critical constraints when a session runs long. Put the most important instruction at the &lt;em&gt;end&lt;/em&gt; of a long prompt, not buried in the middle.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Arithmetic and counting
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it looks like:&lt;/strong&gt; a calculation that's confidently wrong. A miscount. A date arithmetic error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why:&lt;/strong&gt; predicting the next token isn't the same operation as computing. Models have gotten a lot better here. But the underlying process still isn't calculation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; use a tool with code execution for anything numerical. Or do the arithmetic yourself. Never accept a financial or statistical figure from a model without checking it. This is the failure mode most likely to reach a client and cost you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The prompt changes that prevent most of this
&lt;/h2&gt;

&lt;p&gt;In rough order of impact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Give it the source material.&lt;/strong&gt; The single biggest improvement available. A model reasoning over text you supplied is dramatically more reliable than one recalling from training. Paste the document. Paste the data. Paste the page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Say what you don't want it to do.&lt;/strong&gt; &lt;em&gt;"If you're not sure, say so. Do not invent sources or statistics."&lt;/em&gt; Actually reduces fabrication in practice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ask for reasoning before the conclusion.&lt;/strong&gt; Working first, answer second. The reasoning constrains what conclusion is available. Tends to produce better answers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specify the shape of the output.&lt;/strong&gt; Format, length, audience, tone. Any ambiguity gets filled with defaults you didn't pick.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ask it to critique its own answer.&lt;/strong&gt; &lt;em&gt;"What's weakest about that? What did you assume?"&lt;/em&gt; Often surfaces genuine problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ask twice, differently.&lt;/strong&gt; For anything important, ask in a fresh conversation with different phrasing. Two independent answers that agree is weak evidence. Two that disagree is strong evidence you need to check.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;The difference between a prompt that fails and one that works is rarely cleverness. It's usually how much you removed the model's need to guess.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The version that produces a confident, wrong answer:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What's the average customer acquisition cost in e-commerce?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nothing here is checkable. There's no such thing as &lt;em&gt;the&lt;/em&gt; average CAC. It varies enormously by category, price point, market and channel. But the question demands a number. So a number appears. Usually with a plausible-sounding range. Sometimes with a source that doesn't exist. Failure modes 1 and 3, working together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The version that produces something useful:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I run a D2C skincare brand in India. Average order value is ₹1,200, repeat purchase rate around 25% within a year, gross margin 60%. I'm currently paying ₹900 to acquire a customer on Meta.&lt;/p&gt;

&lt;p&gt;Walk me through how to work out whether ₹900 is sustainable. Show your reasoning before any conclusion. If you need a number I haven't given you, ask instead of assuming. Don't cite industry benchmarks. I want the logic applied to my figures.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The second version can't fabricate a benchmark, because it isn't asking for one. Every input comes from you. So every output is checkable against inputs you already trust. The model is doing the part it's genuinely good at, applying a method carefully, rather than the part it's bad at, which is knowing a fact it was never given.&lt;/p&gt;

&lt;p&gt;That's the whole technique, compressed: &lt;strong&gt;stop asking it what's true. Start asking it to reason over what you know is true.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  When to verify, and how much
&lt;/h2&gt;

&lt;p&gt;Simple test. How expensive is being wrong?&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stakes&lt;/th&gt;
&lt;th&gt;Approach&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Drafting, brainstorming, rewriting&lt;/td&gt;
&lt;td&gt;Read it. Your judgement is the check.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Explaining a concept to yourself&lt;/td&gt;
&lt;td&gt;Spot-check anything surprising.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anything with a number, name or date&lt;/td&gt;
&lt;td&gt;Verify every one, independently.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anything going to a client or published&lt;/td&gt;
&lt;td&gt;Verify everything factual. Full stop.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Legal, medical, financial, regulatory&lt;/td&gt;
&lt;td&gt;Treat as a starting point for research only. Confirm with a qualified professional.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The pattern that gets people into trouble is subtle. You use it well for low-stakes work. You build justified trust. Then you carry that trust into high-stakes work where the verification standard should be completely different.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it's genuinely excellent at
&lt;/h2&gt;

&lt;p&gt;This isn't a case against the tools. Used for the right jobs they're transformative. What matters is that the right jobs share one property: &lt;strong&gt;you can evaluate the output yourself.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rewriting and editing text you supplied&lt;/li&gt;
&lt;li&gt;Summarising a document you can check against&lt;/li&gt;
&lt;li&gt;Explaining a concept you can then verify&lt;/li&gt;
&lt;li&gt;Generating options to choose between&lt;/li&gt;
&lt;li&gt;Structuring messy notes&lt;/li&gt;
&lt;li&gt;First drafts you're going to rework anyway&lt;/li&gt;
&lt;li&gt;Being a thinking partner on a problem you already understand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notice what these have in common. You're the verification step. And you're competent to be it. The failures cluster in the opposite place. Where you're relying on the model to know something you don't. Which is exactly where you can't check it.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why does ChatGPT make up information?
&lt;/h3&gt;

&lt;p&gt;It generates statistically plausible text rather than retrieving facts. Asked for something with a precise form (a citation, a statistic) it produces correctly-shaped output whether or not a real example exists. It isn't retrieving and erring; there's no retrieval step to fail unless the tool is explicitly searching.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why is ChatGPT so confident when it's wrong?
&lt;/h3&gt;

&lt;p&gt;Fluency and accuracy are produced by the same process and are unrelated. The confident tone is generated text, not an expression of internal certainty. There's no reliable "I might be wrong" signal surfacing on its own, which is why asking directly what should be verified is worth doing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does ChatGPT lie on purpose?
&lt;/h3&gt;

&lt;p&gt;No. Lying requires knowing the truth and choosing otherwise. The model is producing its best prediction of what text fits. Better described as confabulation than deception. Filling a gap with something plausible, with no awareness that it's a gap.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I make ChatGPT more accurate?
&lt;/h3&gt;

&lt;p&gt;Supply the source material instead of relying on memory. Give full context up front. Tell it explicitly to say when it's unsure and not to invent sources. Ask for reasoning before conclusions. And use a tool with live search for anything time-sensitive and code execution for anything numerical.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do newer models still get things wrong?
&lt;/h3&gt;

&lt;p&gt;Yes. Newer models fabricate less and reason better, and the gap has narrowed considerably. But the mechanism is unchanged. They predict plausible text. A better model is wrong less often, which paradoxically makes verification &lt;em&gt;more&lt;/em&gt; important, because you'll be checking less and trusting more.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I trust ChatGPT for financial or medical questions?
&lt;/h3&gt;

&lt;p&gt;Not as a source of decisions. It's useful for understanding terminology, preparing questions, and getting oriented before speaking to a professional. For anything where being wrong is expensive or unsafe, confirm with someone qualified and regulated to advise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The model predicts plausible text. It doesn't look things up. Plausible and true usually overlap. When they don't, plausible wins.&lt;/li&gt;
&lt;li&gt;Confidence is generated, not earned. Tone tells you nothing about accuracy.&lt;/li&gt;
&lt;li&gt;Six distinct failure modes (fabrication, stale knowledge, missing context, over-agreement, lost thread, arithmetic) each with a different fix.&lt;/li&gt;
&lt;li&gt;The highest-value habit: supply the source rather than relying on recall.&lt;/li&gt;
&lt;li&gt;Scale verification to the cost of being wrong. Reset that standard when the stakes change.&lt;/li&gt;
&lt;li&gt;Use it where you can check the output. That's the boundary.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Related reading:&lt;/strong&gt; &lt;a href="https://dev.to/post/how-to-actually-use-chatgpt-and-claude-for-real-work"&gt;how to actually use ChatGPT and Claude for real work&lt;/a&gt;, &lt;a href="https://dev.to/post/how-to-automate-your-work-with-ai"&gt;how to automate your work with AI&lt;/a&gt;, and &lt;a href="https://dev.to/post/the-skills-that-actually-matter-in-the-age-of-ai"&gt;the skills that actually matter in the age of AI&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
    </item>
    <item>
      <title>Why Most Side Hustles Fail, and How to Give Yours a Real Chance</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Tue, 29 Sep 2026 15:48:44 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/why-most-side-hustles-fail-and-how-to-give-yours-a-real-chance-3nde</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/why-most-side-hustles-fail-and-how-to-give-yours-a-real-chance-3nde</guid>
      <description>&lt;p&gt;Most side hustles don't fail as businesses. They fail as calendar entries.&lt;/p&gt;

&lt;p&gt;The post-mortem people write for themselves is almost always about the idea. Wrong market. Too much competition. Bad timing. That's rarely what actually happened. What happened is that the thing never got enough consecutive weeks of attention to produce a signal either way. It was starved, not beaten.&lt;/p&gt;

&lt;p&gt;This matters because the two failures have opposite fixes. If the idea was wrong, change the idea. If the schedule was wrong, changing the idea just resets the clock and buys you another six months of the same result. Most people do the second thing three or four times, then conclude they're not entrepreneurial.&lt;/p&gt;

&lt;p&gt;Side hustles quietly die because of a handful of predictable mistakes. Not because the idea was bad. Know them going in and you give yours a real chance instead of joining the pile of abandoned projects. Below is what those mistakes actually are. How to pick something that survives a bad Wednesday. The arithmetic of what your hustle has to earn to be worth the hours. And the part nobody writes down: how to decide in advance when to stop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do most side hustles fail?
&lt;/h2&gt;

&lt;p&gt;Honestly, it comes down to competition for attention. Your hustle is not competing with other businesses in its category. It's competing with your job, your sleep, and the one evening a week you had for people who like you. It loses that fight quietly, week by week, and the loss looks like "I got busy".&lt;/p&gt;

&lt;p&gt;Underneath that, five specific failures repeat:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chasing the trend, not a real problem.&lt;/strong&gt; A hustle built on hype fades when the hype does. Trend-led ideas also demand the most energy exactly when they're least likely to pay. You're learning a new domain, on borrowed hours, against people who do it full time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quitting too early.&lt;/strong&gt; Most people give up right before traction, because early is always slow and quiet. The first ninety days of anything produce almost no external feedback. A job gives you daily feedback by comparison. Your brain will prefer the job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Doing too much at once.&lt;/strong&gt; Spreading thin across five ideas beats none of them into the ground. With six spare hours a week, three ideas gets each of them two hours. Below the threshold where anything compounds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No time boundaries.&lt;/strong&gt; With no fixed hours, the side hustle loses every fight with a busy week. "Whenever I get time" isn't a schedule. It's a way of never scheduling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Waiting for perfect.&lt;/strong&gt; Endless preparing instead of shipping something real and learning. Preparation feels like work, produces no rejection, and can be extended indefinitely. That's exactly why people choose it.&lt;/p&gt;

&lt;p&gt;Notice that four of the five are scheduling and psychology. Only the first is about the idea. Which is why swapping the idea rarely changes the outcome. The underlying constraint is unchanged.&lt;/p&gt;

&lt;p&gt;The other thing worth naming is that these failures compound. A hustle without fixed hours attracts perfectionism, because there's no deadline forcing a shipping decision. Perfectionism then invites the next shiny idea, because the current one is stalled and something new feels more productive than something stuck. Three months in, you're doing two half-built things badly, and neither has a customer. The failure looks like "I couldn't decide". The actual failure was upstream.&lt;/p&gt;

&lt;h2&gt;
  
  
  How many hours a week does a side hustle actually need?
&lt;/h2&gt;

&lt;p&gt;Do the subtraction before you plan anything. A week is 168 hours. Take out eight hours of sleep a night (56), a 45-hour job (45), an hour of commute each way on five days (10), and roughly three hours a day for meals, chores, hygiene and admin (21). You're at 36 hours left. Now take out the 22 or so hours that belong to your family, your relationships, and actual rest. You have about 14 hours of genuinely discretionary time in a normal week.&lt;/p&gt;

&lt;p&gt;Fourteen is the ceiling. The workable number is far lower. Plan for five to six hours a week and treat anything above that as a bonus. The weeks you lose to a work deadline, a wedding, or a fever are not rare. Build the plan so that losing one week in four does not break it. A lost week should cost you nothing but a week.&lt;/p&gt;

&lt;p&gt;Five hours a week is roughly 260 hours a year. That's enough to build a real freelance practice, a small product, or a content asset. It's not enough to build a venture-scale company. Pretending otherwise is how people end up resenting a thing they chose.&lt;/p&gt;

&lt;p&gt;Two rules make those hours survive contact with reality. First, put them in the calendar as fixed slots with a start and end time, the way you would a meeting you cannot move. Second, keep the slots small and frequent rather than large and occasional. A 90-minute block four times a week beats a six-hour Sunday. Because the Sunday is the first thing a busy weekend eats.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to pick a side hustle that survives a bad Wednesday
&lt;/h2&gt;

&lt;p&gt;The selection question people ask is "what am I excited about?", usually answered at 10pm on a Sunday when they're rested and optimistic. The useful question is different. What can you still do at 9:40pm on a Wednesday after a bad day at work?&lt;/p&gt;

&lt;p&gt;That's the real filter. Anything requiring peak creative energy, live performance, or a fresh brain will get skipped on exactly the days you most need consistency. Work that's close to a skill you already have muscle memory for, the thing you do at your job, costs the least energy per unit of output. Which is why it's usually the right first hustle even when it's the least exciting one.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Cost when you are tired&lt;/th&gt;
&lt;th&gt;Time to first payment&lt;/th&gt;
&lt;th&gt;What sets the ceiling&lt;/th&gt;
&lt;th&gt;What usually kills it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Freelancing your day-job skill&lt;/td&gt;
&lt;td&gt;Low — it is muscle memory&lt;/td&gt;
&lt;td&gt;Weeks&lt;/td&gt;
&lt;td&gt;Your hourly rate × billable hours&lt;/td&gt;
&lt;td&gt;Clients who only meet in office hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Teaching, coaching, 1:1 sessions&lt;/td&gt;
&lt;td&gt;Medium — needs energy on demand&lt;/td&gt;
&lt;td&gt;Weeks to a couple of months&lt;/td&gt;
&lt;td&gt;Fixed session slots you must show up for&lt;/td&gt;
&lt;td&gt;Class times that clash with work travel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Digital product (template, course, toolkit)&lt;/td&gt;
&lt;td&gt;High to build, near zero to sell&lt;/td&gt;
&lt;td&gt;Months&lt;/td&gt;
&lt;td&gt;Traffic and email list size&lt;/td&gt;
&lt;td&gt;No audience, so no sales&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Content plus affiliate income&lt;/td&gt;
&lt;td&gt;Medium, but relentless&lt;/td&gt;
&lt;td&gt;Six months or more&lt;/td&gt;
&lt;td&gt;Search demand and trust&lt;/td&gt;
&lt;td&gt;Quitting in month four&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reselling physical goods&lt;/td&gt;
&lt;td&gt;High — logistics do not wait&lt;/td&gt;
&lt;td&gt;Days to weeks&lt;/td&gt;
&lt;td&gt;Working capital, not time&lt;/td&gt;
&lt;td&gt;Cash locked in unsold stock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Building an app or SaaS&lt;/td&gt;
&lt;td&gt;Very high&lt;/td&gt;
&lt;td&gt;Six to eighteen months&lt;/td&gt;
&lt;td&gt;Distribution, not code&lt;/td&gt;
&lt;td&gt;Support tickets landing on weeknights&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The right column is the one to read twice. Every model has a failure mode that's structural, not motivational. Pick the failure mode you can actually live with given your job, your travel, and your temperament.&lt;/p&gt;

&lt;p&gt;One more filter. Prefer work where the cash arrives before or at delivery. Freelance retainers, prepaid coaching, and digital products pay early. Reselling and long project work make you fund the business out of your salary while you wait. That's the difference between &lt;a href="https://dev.to/post/cash-flow-vs-profit-the-difference-that-sinks-most-small-businesses"&gt;cash flow and profit&lt;/a&gt;, and the reason profitable side hustles still die.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to validate a side hustle before you build anything
&lt;/h2&gt;

&lt;p&gt;Building first is the expensive habit. It costs you the scarcest resource, those 260 hours, on an assumption you could have tested in a fortnight.&lt;/p&gt;

&lt;p&gt;Validation means one thing. Somebody who doesn't know you agrees to pay before the thing fully exists. Everything short of that is encouragement. And encouragement is free.&lt;/p&gt;

&lt;p&gt;Three moves, in order:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have ten conversations with people who have the problem.&lt;/strong&gt; Not "would you buy this". That answer is always polite and always wrong. Ask what they did the last time this problem came up. What it cost them. What they paid to make it go away. If nobody has ever paid anything to solve it, you're looking at a nuisance, not a market.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pre-sell one unit.&lt;/strong&gt; Offer the first version to one person at a real price with a delivery date. A token booking fee counts. A free trial does not. The point isn't the money. It's the discovery that follows a request for money. Objections you never anticipated arrive within minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ship a rough version fast.&lt;/strong&gt; A live version teaches you more than a perfect plan. Deliver manually if you have to. The first ten deliveries done by hand will tell you exactly what to automate later. Which is the only sane order to do things in, the same logic behind &lt;a href="https://dev.to/post/how-to-automate-your-work-with-ai"&gt;automating your work with AI&lt;/a&gt; only after you know the process cold.&lt;/p&gt;

&lt;p&gt;Validation should take four to six weeks of your normal five hours. Not a quarter. If it's taking longer, you're probably building while calling it validating.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does your side hustle actually need to earn?
&lt;/h2&gt;

&lt;p&gt;Here's the arithmetic most people avoid, done properly.&lt;/p&gt;

&lt;p&gt;Say you want ₹30,000 a month extra. You have six hours a week, which is about 26 hours a month (6 × 4.33). Not all of it is sellable. Plan on 40% going to marketing, invoicing, revisions and admin, which leaves roughly 15.6 billable hours.&lt;/p&gt;

&lt;p&gt;₹30,000 ÷ 15.6 hours = &lt;strong&gt;₹1,923 per billable hour&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That's the number the whole plan rests on. If your skill commands ₹600 an hour, the same 15.6 hours produce ₹9,360 a month. And no amount of consistency fixes that, because it's an arithmetic problem, not a discipline problem. Either the rate goes up, the hours go up, or the target comes down. Choosing which one is the actual strategic decision.&lt;/p&gt;

&lt;p&gt;Now the product route to the same ₹30,000. A digital product at ₹1,499 needs 20 sales a month (20 × ₹1,499 = ₹29,980). At a 2% landing-page conversion rate that is 1,000 visitors a month, or about 33 a day. Suddenly the job isn't product development. It's traffic. Which is why &lt;a href="https://dev.to/post/seo-basics-how-to-get-found-on-google-without-paying-for-ads"&gt;SEO basics&lt;/a&gt; and &lt;a href="https://dev.to/post/how-to-build-an-email-list-from-zero"&gt;building an email list from zero&lt;/a&gt; matter more to product hustles than the product does.&lt;/p&gt;

&lt;p&gt;Then take the deductions nobody models:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Line&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gross revenue&lt;/td&gt;
&lt;td&gt;₹29,980&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Payment gateway fee at 2%&lt;/td&gt;
&lt;td&gt;−₹600&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GST on that fee at 18%&lt;/td&gt;
&lt;td&gt;−₹108&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Net receipts&lt;/td&gt;
&lt;td&gt;₹29,272&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Income tax if you are in the 30% slab, plus 4% cess (31.2%)&lt;/td&gt;
&lt;td&gt;−₹9,133&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Actually yours&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;₹20,139&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So the ₹30,000 side hustle is a ₹20,000 side hustle. Against 26 hours a month, that's about ₹775 an hour in hand. Compare that honestly with an hour of overtime, an hour of upskilling that lifts your salary, or an hour of sleep. Sometimes it wins easily. Sometimes it doesn't. Knowing that before you start is worth more than a year of grinding.&lt;/p&gt;

&lt;p&gt;Two related points. Side income stacks on top of salary, so it's taxed at your marginal slab, not at zero. Check the current regime and slab with a CA rather than assuming. Second, presumptive schemes such as Section 44ADA exist for professionals and can simplify things considerably. Eligibility limits change, so verify before you rely on them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hourly rate is the wrong ceiling, where the leverage actually is
&lt;/h2&gt;

&lt;p&gt;If your hustle only earns when you're working, its ceiling is fixed by 15 billable hours and your energy. That's a job with worse hours.&lt;/p&gt;

&lt;p&gt;The escape isn't "work harder". It's changing what you sell:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sell an outcome, not time.&lt;/strong&gt; "₹25,000 for a landing page audit and rewrite" is priced on value. "₹1,200 an hour" is priced on your fatigue. Same work, different ceiling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sell the same thing more than once.&lt;/strong&gt; A template, a checklist, a recorded workshop. Built once on borrowed hours, sold while you're asleep.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sell to fewer, better clients.&lt;/strong&gt; Three retainers at ₹15,000 a month is far less admin than fifteen one-off jobs at ₹3,000. Admin is the tax that kills small hustles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build an asset that accrues.&lt;/strong&gt; An email list, a ranking article, a repeat-purchase customer. This is the slowest route and the only one where month 24 is easier than month 2.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your model involves affiliate revenue, the same discipline applies to programme selection. The &lt;a href="https://dev.to/post/how-to-choose-the-right-affiliate-program-a-beginner-s-checklist"&gt;affiliate programme checklist&lt;/a&gt; is worth running before you write a word of content, because commission terms and cookie windows decide the maths long before your traffic does. And if you're going to spend money to acquire customers, know what &lt;a href="https://dev.to/post/marketing-metrics-explained-cpc-cpm-ctr-cpa-and-roas-in-plain-english"&gt;CPC, CPA and ROAS&lt;/a&gt; mean before you spend it, not after.&lt;/p&gt;

&lt;h2&gt;
  
  
  The legal and tax bits people skip
&lt;/h2&gt;

&lt;p&gt;Boring. And each one has ended a hustle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your employment contract.&lt;/strong&gt; Many Indian contracts contain a moonlighting or conflict-of-interest clause. Read yours. Serving your employer's clients or competitors on the side is where people get into genuine trouble. A written all-clear from HR costs nothing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GST registration.&lt;/strong&gt; Service providers generally need to register once turnover crosses ₹20 lakh a year (₹10 lakh in some special-category states), and marketplaces may require registration earlier. Confirm the current threshold for your state and category.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Financial advice is regulated.&lt;/strong&gt; If your side hustle is content about markets, you can educate freely. But charging for stock recommendations, tips or model portfolios requires SEBI registration as an &lt;a href="https://www.sebi.gov.in/legal/regulations/nov-2025/securities-and-exchange-board-of-india-investment-advisers-regulations-2013-and-securities-last-amended-on-november-25-2025-_98246.html" rel="noopener noreferrer"&gt;Investment Adviser or Research Analyst&lt;/a&gt;. Don't take money for recommendations without it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insurance affiliate income needs IRDAI registration.&lt;/strong&gt; Earning referral commission on insurance products is regulated. You need to be a registered intermediary. Educational content about insurance is fine. Commissioned referrals without registration are not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Invoices and records from day one.&lt;/strong&gt; A separate bank account and a simple sheet of income and expenses will save you a weekend every year at filing time. It's the same habit as keeping a &lt;a href="https://dev.to/post/your-marketing-either-makes-money-or-it-doesn-t-here-s-the-sheet-that-tells-you"&gt;sheet that tells you whether the marketing makes money&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Business or expensive hobby?
&lt;/h2&gt;

&lt;p&gt;Nothing wrong with a hobby. There is something wrong with funding a hobby out of your salary for two years while calling it a business.&lt;/p&gt;

&lt;p&gt;The test is simple. A business has strangers paying full price repeatedly. Check three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Has someone who doesn't know you paid?&lt;/strong&gt; Friends and ex-colleagues buying out of goodwill isn't demand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Have they paid twice, or referred someone?&lt;/strong&gt; One purchase tests your pitch. The second tests your product.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does the money cover the money?&lt;/strong&gt; If revenue doesn't yet cover tools, ads and subscriptions, you have a paid hobby. Fine as a decision. Dangerous as a delusion.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Fail all three after six months of consistent effort and you have your answer. The right response isn't shame. It's either converting it deliberately into a hobby with a capped budget, or changing the offer.&lt;/p&gt;

&lt;h2&gt;
  
  
  When should you quit a side hustle?
&lt;/h2&gt;

&lt;p&gt;Decide the rule before you start. You can't make this decision honestly while tired and invested.&lt;/p&gt;

&lt;p&gt;Write down three things on day one. The runway (how many months you'll give it regardless of results). The minimum signal you expect by the end (first paying stranger, ten sales, ₹10,000 in a month). The weekly hours you have committed. Six months and 130 hours is a reasonable first commitment.&lt;/p&gt;

&lt;p&gt;Then quit if, at the end of the runway, you hit the signal in &lt;strong&gt;none&lt;/strong&gt; of the last three months &lt;strong&gt;and&lt;/strong&gt; you actually put the hours in. That second condition is what stops you from killing an idea you never really ran. If you missed the hours, you haven't tested the idea. You've tested your schedule, and the finding is about the schedule.&lt;/p&gt;

&lt;p&gt;When you do quit, quit the idea, not the habit. The four protected slots in your calendar are the hard-won asset. Point them at the next thing on Monday. Most people give up the slots along with the idea and then spend a year "getting ready to start again".&lt;/p&gt;

&lt;h2&gt;
  
  
  The first 90 days, as a schedule
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 1–2:&lt;/strong&gt; Ten conversations with people who have the problem. No building. Book the calendar slots now and defend them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 3–4:&lt;/strong&gt; Write the offer in one paragraph with a price. Pre-sell one unit at that price to someone who is not a friend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 5–8:&lt;/strong&gt; Deliver manually to the first three buyers. Log every question, complaint and delay. Raise the price for buyer four.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weeks 9–12:&lt;/strong&gt; Fix the single biggest bottleneck the log revealed, and start one repeatable acquisition channel. One article a week, one outreach batch, one referral ask per delivery. See &lt;a href="https://dev.to/post/what-is-a-marketing-funnel-a-simple-guide-with-real-examples"&gt;how a marketing funnel actually works&lt;/a&gt; before you build one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At day 90 you'll have either revenue, a clear reason for its absence, or proof that you did not run the hours. All three are useful. Vague disappointment is not. The log from the first three deliveries is worth more than the revenue itself, because it tells you exactly which promise you're actually keeping and which one you thought you were keeping.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest part
&lt;/h2&gt;

&lt;p&gt;A side hustle competes with your tiredness, your job and your life. That's why consistency beats intensity. The person who does a little every week for a year almost always beats the one who does a heroic weekend and then vanishes. Boring, steady effort is the whole secret.&lt;/p&gt;

&lt;p&gt;The corollary matters just as much. Design the hustle so that boring, steady effort is possible. Low energy cost. Small blocks. Fast cash. One idea. That's not a lack of ambition. It's the only version that's still alive in month twelve, and month twelve is where everything interesting happens.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How long before a side hustle shows results?
&lt;/h3&gt;

&lt;p&gt;Usually months, not weeks. Most people quit in the quiet early phase, when there's almost no external feedback to compare against the daily feedback of a job. Decide your runway in advance. Six months is reasonable. That way a slow start doesn't trick you into stopping. Judge it at the end of the runway, not weekly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I quit my job to focus on my side hustle?
&lt;/h3&gt;

&lt;p&gt;Rarely early on. The job funds the runway and removes the desperation that kills good decisions. Grow the hustle on the side until it can clearly stand on its own. A common bar is six months of profit covering your essential expenses, plus an &lt;a href="https://dev.to/post/how-to-build-an-emergency-fund-and-why-it-buys-you-freedom"&gt;emergency fund&lt;/a&gt; of six to twelve months on top of it.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many hours a week is enough for a side hustle?
&lt;/h3&gt;

&lt;p&gt;Five to six protected hours, scheduled as fixed slots, beats a vague ten. That's roughly 260 hours a year. Enough for a freelance practice, a small product, or a content asset. Plan for losing one week in four to work deadlines and life. Pick a hustle whose failure mode you can survive during those weeks.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the best side hustle for a working professional in India?
&lt;/h3&gt;

&lt;p&gt;Usually the one closest to your existing job skill. It costs the least energy when you're tired and pays fastest. Freelancing that skill reaches first revenue in weeks. Products and content pay far more later but need traffic first. Check your employment contract for moonlighting and conflict-of-interest clauses before you start.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need to pay tax on side hustle income in India?
&lt;/h3&gt;

&lt;p&gt;Yes. Side income is added to your total income and taxed at your applicable slab. A ₹30,000 month at the 30% slab plus cess nets closer to ₹20,000. GST registration typically applies once service turnover crosses the threshold for your state. Keep a separate bank account and a simple income-expense sheet, and confirm specifics with a CA.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I know if my side hustle is really a business?
&lt;/h3&gt;

&lt;p&gt;Strangers pay full price, more than once. If every buyer so far is a friend, or nobody has bought twice or referred anyone, or revenue still doesn't cover your tools and ad spend after six consistent months, you have an expensive hobby. That's a legitimate choice. Just cap the budget and stop calling it a business.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Most side hustles fail for a scheduling reason, not a business one. The idea rarely gets enough consecutive weeks of attention to produce any signal.&lt;/li&gt;
&lt;li&gt;Your realistic budget is five to six protected hours a week, booked as fixed calendar slots, not "whenever I get time".&lt;/li&gt;
&lt;li&gt;Pick work you can still do at 9:40pm on a bad Wednesday. The cheapest energy per unit of output usually comes from a skill you already have.&lt;/li&gt;
&lt;li&gt;Validate by getting a stranger to pay before the thing fully exists. Ten problem conversations, one pre-sale, then a rough live version.&lt;/li&gt;
&lt;li&gt;Do the arithmetic first. ₹30,000 a month on 15.6 billable hours means a ₹1,923 hourly rate, and roughly ₹20,000 in hand after fees and a 31.2% marginal rate.&lt;/li&gt;
&lt;li&gt;Write your runway and kill criteria on day one. When you quit an idea, keep the calendar slots and point them at the next one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Related reading:&lt;/strong&gt; &lt;a href="https://dev.to/post/cash-flow-vs-profit-the-difference-that-sinks-most-small-businesses"&gt;cash flow vs profit, the difference that sinks most small businesses&lt;/a&gt;, &lt;a href="https://dev.to/post/how-to-build-an-emergency-fund-and-why-it-buys-you-freedom"&gt;how to build an emergency fund&lt;/a&gt;, and &lt;a href="https://dev.to/post/affiliate-marketing-the-practical-guide-i-wish-i-had-on-day-one"&gt;affiliate marketing, the practical guide I wish I had on day one&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>founder</category>
      <category>lessons</category>
    </item>
    <item>
      <title>Which Client Is Actually Profitable When Everyone Works on Everything?</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Tue, 29 Sep 2026 15:48:43 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/which-client-is-actually-profitable-when-everyone-works-on-everything-3mli</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/which-client-is-actually-profitable-when-everyone-works-on-everything-3mli</guid>
      <description>&lt;p&gt;Ask a services owner which client is their best. They'll name the one paying the most. Ask them which is worst. They'll name the one emailing the most. Both answers are guesses. And honestly, they're often the same client.&lt;/p&gt;

&lt;p&gt;The gap between what a client pays and what they cost is the actual game. Most owners never see it, because the numbers that would reveal it live in different systems, and none of them talk to each other.&lt;/p&gt;

&lt;p&gt;The reason it stays a guess is structural. In any services shop below the size of "we have a finance team", nobody works on one account. The same designer touches four brands in a day. The same senior joins whichever call is on fire that afternoon. Your accounting software knows what each client paid you. It has no idea what each client cost you. That cost is a set of salaries. Salaries don't decompose by client.&lt;/p&gt;

&lt;p&gt;So the question, which client is actually profitable, is genuinely hard. The standard answers online are written by people selling the software that answers it. Here's the method without the software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the revenue ranking is the wrong ranking
&lt;/h2&gt;

&lt;p&gt;Ranking by revenue tells you who funds the business. Not who builds it. Those are different lists. Acting on the first while believing it's the second is how a growing agency runs out of money.&lt;/p&gt;

&lt;p&gt;The mechanism is simple. Revenue is contracted and fixed. Cost is behavioural and variable. Two clients on the same retainer can burn wildly different amounts of the only thing you actually sell. Which is senior attention.&lt;/p&gt;

&lt;p&gt;One sends a brief, approves in one round, pays on time. The other reopens settled decisions, adds a stakeholder in month three, needs a call before every approval. On the revenue list they're identical twins. On the margin list they aren't in the same business.&lt;/p&gt;

&lt;p&gt;Put another way: same invoice, different appetite. The invoice is what your bank sees. The appetite is what your team feels. Only one of those two shows up in a report.&lt;/p&gt;

&lt;p&gt;This is the same failure mode that &lt;a href="https://dev.to/post/how-a-profitable-retainer-quietly-becomes-an-unprofitable-one/"&gt;a profitable retainer quietly becoming an unprofitable one&lt;/a&gt; describes for a single account over time. What follows is the cross-sectional version. Not one account drifting. A whole book of clients you need to rank against each other at a single moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The three costs that never reach the client's line
&lt;/h2&gt;

&lt;p&gt;Before allocating anything, know what you're allocating. Three categories are systematically missing from the mental version of this calculation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unbilled thinking time.&lt;/strong&gt; The forty minutes before the call, spent reading the last three months of the account. The Sunday evening when a campaign is misbehaving. It's real. It's expensive, because it's almost always senior time. And it appears in no timesheet, because it doesn't feel like work being done &lt;em&gt;on&lt;/em&gt; something.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coordination overhead.&lt;/strong&gt; Every client adds internal cost that has nothing to do with the work. Status meetings. Handovers between people. Someone re-explaining context to someone new. The project manager's time. Coordination scales worse than linearly with the number of stakeholders on the client side. A client with one decision-maker and one with four are not one-and-four. Closer to one and nine. Because the cost is in the connections, not the people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rework.&lt;/strong&gt; Not revisions you priced for. Rework caused by a brief that changed, an approval that reversed, a spec nobody wrote down. Rework is the single largest hidden cost in most service businesses, and the one clients are least willing to see itemised.&lt;/p&gt;

&lt;p&gt;None of these appear as a line in your P&amp;amp;L. They appear as salaries. Which is exactly why allocation is necessary rather than optional. And why the ability to read the statement you're decomposing matters first, which is the ground covered in &lt;a href="https://dev.to/post/how-to-read-a-profit-and-loss-statement-without-an-accounting-degree/"&gt;how to read a profit and loss statement without an accounting degree&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choosing an allocation basis, and what each one hides
&lt;/h2&gt;

&lt;p&gt;Allocation means taking a shared cost and splitting it across clients using some proxy for consumption. The proxy you pick determines the answer. So pick it deliberately, and know its blind spot.&lt;/p&gt;

&lt;p&gt;This isn't a new problem. It's the core of activity-based costing, which Robin Cooper and Robert Kaplan set out in &lt;a href="https://hbr.org/1988/09/measure-costs-right-make-the-right-decisions" rel="noopener noreferrer"&gt;Measure Costs Right: Make the Right Decisions&lt;/a&gt;. Their argument: managers were making pricing and mix decisions on distorted cost information, precisely because overhead was being smeared evenly across things that consumed it unevenly.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Basis&lt;/th&gt;
&lt;th&gt;How it works&lt;/th&gt;
&lt;th&gt;What it hides&lt;/th&gt;
&lt;th&gt;Use when&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Revenue share&lt;/td&gt;
&lt;td&gt;Client's share of revenue × total overhead&lt;/td&gt;
&lt;td&gt;Assumes big clients cost proportionally more. They usually cost &lt;em&gt;less&lt;/em&gt; per rupee&lt;/td&gt;
&lt;td&gt;You need a number today and nothing else exists&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Headcount share&lt;/td&gt;
&lt;td&gt;Overhead ÷ people, assigned by who works where&lt;/td&gt;
&lt;td&gt;Ignores seniority. An hour of principal time and an hour of junior time cost the same&lt;/td&gt;
&lt;td&gt;Team is small and roughly uniform in seniority&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tracked hours × loaded rate&lt;/td&gt;
&lt;td&gt;Actual hours at true cost per person&lt;/td&gt;
&lt;td&gt;Only as good as your time tracking, which in most agencies is fiction&lt;/td&gt;
&lt;td&gt;You genuinely track time and people fill it in honestly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Activity / touchpoint counts&lt;/td&gt;
&lt;td&gt;Count the things that drive cost (calls, rounds, stakeholders)&lt;/td&gt;
&lt;td&gt;Takes effort to design; needs review as the work changes&lt;/td&gt;
&lt;td&gt;You want an honest answer without a timesheet culture&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Revenue-share is the most common method and the most misleading. Its error runs in the opposite direction to the truth. It charges your largest client the most overhead, when large accounts typically have the lowest overhead per rupee. One relationship. One set of meetings. One context to hold. Smearing overhead by revenue makes big clients look worse and small clients look better than they are. Which flatters exactly the accounts you should be scrutinising.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Loaded cost, not salary.&lt;/strong&gt; Whatever basis you choose, the per-person cost must be fully loaded. Salary plus employer contributions. Plus the cost of the tools that person needs. Plus their share of rent and admin. Divided by &lt;em&gt;realistically available&lt;/em&gt; hours rather than contracted ones. Nobody delivers 40 billable hours in a 40-hour week. If you use contracted hours you'll understate cost by something like a third, uniformly, and every client will look profitable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The version that works when nobody tracks time
&lt;/h2&gt;

&lt;p&gt;Most small agencies don't track time. Installing timesheets to answer this question usually fails. The data is bad for the first two months, people resent it, and you get an answer six months after you needed one.&lt;/p&gt;

&lt;p&gt;The workable substitute is to count activities instead of minutes. Kaplan and Anderson's &lt;a href="https://hbr.org/2004/11/time-driven-activity-based-costing" rel="noopener noreferrer"&gt;time-driven refinement of activity-based costing&lt;/a&gt; makes the same move. Estimate the time each transaction demands, rather than surveying people about how they spend their days.&lt;/p&gt;

&lt;p&gt;In practice, for one representative month, count per client:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scheduled calls, and how many people from your side attended each&lt;/li&gt;
&lt;li&gt;Revision rounds on delivered work&lt;/li&gt;
&lt;li&gt;Distinct approvers involved in any decision&lt;/li&gt;
&lt;li&gt;Out-of-hours or same-day requests&lt;/li&gt;
&lt;li&gt;Days from your delivery to their sign-off&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then attach a standard time estimate to each. One figure per activity type, agreed once, applied to everyone. A call with three people from your side costs three times a call with one. A revision round costs whatever a revision round costs in your business.&lt;/p&gt;

&lt;p&gt;Two properties make this better than timesheets for this purpose. It's retrospective, so you can run it on last quarter from your calendar and inbox without waiting. And it measures the &lt;em&gt;drivers&lt;/em&gt; of cost rather than its symptoms. So the output tells you what to change, not merely who is expensive. "This account runs four approvers" is actionable. "This account consumed 61 hours" is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;Numbers below are invented for illustration and round on purpose. They aren't anyone's real book.&lt;/p&gt;

&lt;p&gt;Take a small agency billing ₹12,00,000 a month across three clients, with total monthly costs of ₹9,00,000. Of that, ₹6,00,000 is delivery salaries and ₹3,00,000 is overhead. Overall margin is 25%. Looks healthy.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Client A&lt;/th&gt;
&lt;th&gt;Client B&lt;/th&gt;
&lt;th&gt;Client C&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Monthly fee&lt;/td&gt;
&lt;td&gt;₹6,00,000&lt;/td&gt;
&lt;td&gt;₹4,00,000&lt;/td&gt;
&lt;td&gt;₹2,00,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Share of revenue&lt;/td&gt;
&lt;td&gt;50%&lt;/td&gt;
&lt;td&gt;33%&lt;/td&gt;
&lt;td&gt;17%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Delivery cost (activity-based)&lt;/td&gt;
&lt;td&gt;₹2,40,000&lt;/td&gt;
&lt;td&gt;₹2,40,000&lt;/td&gt;
&lt;td&gt;₹1,20,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Overhead (by revenue share)&lt;/td&gt;
&lt;td&gt;₹1,50,000&lt;/td&gt;
&lt;td&gt;₹1,00,000&lt;/td&gt;
&lt;td&gt;₹50,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Net margin&lt;/td&gt;
&lt;td&gt;₹2,10,000 (35%)&lt;/td&gt;
&lt;td&gt;₹60,000 (15%)&lt;/td&gt;
&lt;td&gt;₹30,000 (15%)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Client A and Client B burn identical delivery cost, even though B pays two-thirds of A's fee. B is the one with four approvers and the reopened decisions. The revenue ranking says A, B, C. The margin ranking says A, then B and C indistinguishably, with B consuming twice the capacity of C to produce the same profit.&lt;/p&gt;

&lt;p&gt;Now notice what the overhead row did. Allocating overhead by revenue share charged Client A three times what it charged Client C. On the assumption that A generates three times the admin. If A is a single-stakeholder account and C is a fragmented one, that assumption is backwards. The real gap between A and the others is wider than the table shows. The allocation basis moved the answer. Which is the whole point of choosing it consciously.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rank on contribution margin, not net margin
&lt;/h2&gt;

&lt;p&gt;The number to rank clients on is revenue minus the costs that would actually disappear if the client did.&lt;/p&gt;

&lt;p&gt;Net margin, after allocated overhead, is the right number for pricing and for judging the business overall. It's the wrong number for ranking clients. Allocated overhead is not avoidable. Your rent doesn't fall when a client leaves.&lt;/p&gt;

&lt;p&gt;Fire the client with the worst net margin and you don't save their allocated overhead. You redistribute it across the survivors. The next-worst client becomes the worst. That loop has an obvious endpoint, and it isn't a healthier business.&lt;/p&gt;

&lt;p&gt;So keep two columns and use them for different decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Contribution margin&lt;/strong&gt; (revenue − avoidable direct cost) answers: &lt;em&gt;is this account worth keeping?&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Net margin&lt;/strong&gt; (contribution − allocated overhead) answers: &lt;em&gt;is this account priced correctly, and can the business support its current cost base?&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A client with positive contribution and negative net margin isn't a client to fire. It's a client to reprice. Or a signal that your overhead is too heavy for the book you have.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do with the answer
&lt;/h2&gt;

&lt;p&gt;You've found your worst account. The instinct is to fire it. That's usually the fourth-best option and the most expensive to reverse. Work the list in this order.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Fix the drivers before touching the price.&lt;/strong&gt; Most unprofitable accounts are unprofitable for two or three specific, nameable reasons. An approval chain with no single owner. A standing weekly call that could be a written update. A delivery format that gets rebuilt every month. These are cheap to change and they don't require a difficult conversation. Fix them and re-measure a quarter later. A meaningful share of "bad clients" resolve here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Reprice to the observed cost.&lt;/strong&gt; If the drivers are structural to how the client works rather than to how you work, the price should reflect them. This is a much easier conversation when you can describe consumption rather than assert value. Approvers, rounds, turnaround expectations. &lt;a href="https://dev.to/post/how-to-raise-your-prices-without-losing-the-accounts-you-want-to-keep/"&gt;How to raise your prices without losing the accounts you want to keep&lt;/a&gt; covers how to run it. If your floor rate itself is wrong, that's a different and more urgent problem, and &lt;a href="https://dev.to/post/how-to-price-your-services-as-a-freelancer-or-consultant/"&gt;pricing your services properly&lt;/a&gt; is the fix.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Re-scope.&lt;/strong&gt; Reduce what's delivered to match what's paid. Often more palatable to a client than a price rise. And it makes the trade explicit rather than absorbing it silently. Cut a weekly call to fortnightly. Move a report from bespoke to templated. Package what was ad-hoc into a fixed cadence. The client sees "we simplified"; you see "we stopped bleeding".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Then, and only then, exit.&lt;/strong&gt; Exit on the pattern, not on the number. A single bad quarter is noise. The signals that actually justify it are in &lt;a href="https://dev.to/post/when-to-fire-a-client-the-four-signals-and-why-revenue-is-never-one/"&gt;when to fire a client, the four signals, and why revenue is never one&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One more thing worth checking before any of the above. Whether the account is unprofitable or merely slow to pay. They feel identical from the inside and need opposite responses. &lt;a href="https://dev.to/post/cash-flow-vs-profit-the-difference-that-sinks-most-small-businesses/"&gt;The difference between cash flow and profit&lt;/a&gt; is the distinction to hold onto.&lt;/p&gt;

&lt;h2&gt;
  
  
  How often, and the trap of doing it too often
&lt;/h2&gt;

&lt;p&gt;Quarterly. Monthly is too noisy. One campaign launch or one bad month of rework will swing a small account's margin enough to trigger a decision you wouldn't make on a longer view. Annually is too slow to catch drift while it's still cheap to correct. Ninety days is a wide enough window to smooth out the odd bad week, and a short enough one that you can actually still remember what happened inside it.&lt;/p&gt;

&lt;p&gt;Run it on the same basis each time. The absolute number matters less than the direction. Changing your allocation method between periods destroys the comparison that makes the exercise worth anything. If you must change the method, recompute the prior period on the new basis so you keep a like-for-like series.&lt;/p&gt;

&lt;p&gt;Two failure modes worth naming. First, precision theatre. Spending three weeks refining an allocation model to move a client's margin from 14% to 15%. The decision you make at 14% and at 15% is the same decision. Get to a defensible number quickly and spend the saved effort on the drivers.&lt;/p&gt;

&lt;p&gt;Second, showing the output to the team. A ranked list of clients by profitability, seen by the people delivering the work, changes behaviour in ways you didn't intend. It becomes a reason to under-serve the bottom of the list. Which is precisely how a fixable account becomes a lost one.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How do I calculate profit per client if my team works on multiple accounts?
&lt;/h3&gt;

&lt;p&gt;Split each person's fully loaded cost across accounts using a consumption proxy. Tracked hours if you have honest ones. Counted activities if you don't. Then subtract the result from that client's revenue. The proxy doesn't have to be perfect. It has to be consistent, applied the same way to every client, and reviewed when the shape of the work changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I allocate overhead by revenue or by hours?
&lt;/h3&gt;

&lt;p&gt;By hours or activities where you can, because that's closer to actual consumption. Revenue-share allocation systematically penalises large accounts, which usually carry the lowest overhead per rupee. Revenue share is defensible only as a first pass when you have nothing else. Treat its output as directional rather than as a basis for firing anyone.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a good profit margin per client for an agency?
&lt;/h3&gt;

&lt;p&gt;There's no universal figure worth quoting. Any specific percentage you read is someone's book rather than a benchmark. The useful comparison is internal. The spread between your best and worst accounts on the same measurement basis, and whether that spread is widening. A tight spread means your pricing model matches how work actually gets consumed. A wide one means some clients are subsidising others.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I fire my least profitable client?
&lt;/h3&gt;

&lt;p&gt;Not on the first measurement, and not on net margin. Check contribution margin, revenue minus genuinely avoidable cost, because allocated overhead doesn't leave when the client does. Then work the cost drivers, then the price, then the scope. Exit is the last option and should follow a pattern across quarters rather than a single bad number.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is activity-based costing and do I need it?
&lt;/h3&gt;

&lt;p&gt;It's the practice of assigning overhead according to the activities that actually consume it, rather than spreading it evenly. You need the idea. You almost certainly don't need the full apparatus. Counting five or six cost drivers per client for one representative month gives you most of the accuracy at a fraction of the effort. Which is the argument behind the time-driven version of the method.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I account for time spent on a client that nobody logs?
&lt;/h3&gt;

&lt;p&gt;Estimate it deliberately rather than letting it default to zero. Pick standard figures. Preparation time per call, context-switching cost per interruption, the true length of a revision round. Agree them once and apply them uniformly. A consistent estimate applied to every client is far more useful than precise data on the fraction of work people remember to log.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The revenue ranking and the margin ranking are different lists. Only one tells you how the business is doing.&lt;/li&gt;
&lt;li&gt;Unbilled thinking time, coordination overhead and rework are the three costs that never reach the client's line.&lt;/li&gt;
&lt;li&gt;Your allocation basis determines your answer. Choose it consciously and keep it stable across periods.&lt;/li&gt;
&lt;li&gt;Revenue-share allocation is backwards. Big accounts usually carry less overhead per rupee, not more.&lt;/li&gt;
&lt;li&gt;Use fully loaded cost over realistically available hours, or every client will look profitable.&lt;/li&gt;
&lt;li&gt;Count activities, not minutes, if you don't have a working timesheet culture.&lt;/li&gt;
&lt;li&gt;Rank on contribution margin. Net margin is for pricing decisions, not keep-or-drop decisions.&lt;/li&gt;
&lt;li&gt;Fix the drivers, then the price, then the scope. Exit last.&lt;/li&gt;
&lt;li&gt;Quarterly, same method every time. Don't show the ranked list to the delivery team.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>business</category>
      <category>finance</category>
    </item>
    <item>
      <title>When to Fire a Client, The Four Signals, and Why Revenue Is Never One of Them</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Mon, 28 Sep 2026 17:38:04 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/when-to-fire-a-client-the-four-signals-and-why-revenue-is-never-one-of-them-59k4</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/when-to-fire-a-client-the-four-signals-and-why-revenue-is-never-one-of-them-59k4</guid>
      <description>&lt;p&gt;Fire clients on revenue and you'll keep the wrong ones. You'll also lose the right ones.&lt;/p&gt;

&lt;p&gt;I mean that literally. If the only question you ask is "which account is smallest this quarter?", the account you cut is often the one whose team is easy to work with. Clean scope. Useful feedback. A smaller fee because they run a smaller operation. The account you keep is the largest one. Which is almost never coincidentally the one that has taught your team to answer messages at 11pm, changes the brief three times before invoice, and adds a new stakeholder to the approval chain every fortnight.&lt;/p&gt;

&lt;p&gt;Revenue is the criterion the P&amp;amp;L is loudest about. By the time it's loud enough for you to hear, you've been paying with the wrong currency for six months.&lt;/p&gt;

&lt;p&gt;This post is about the four signals that show up before the P&amp;amp;L notices. In the order they appear. And the specific thing to do about each one. It isn't a pep talk about "firing toxic clients". It's the operational answer to a question every services business hits and almost nobody writes down: &lt;strong&gt;how do you tell that an account has quietly become one you should end, when the invoice still gets paid?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why revenue is the wrong instrument
&lt;/h2&gt;

&lt;p&gt;Revenue tells you what an account is paying you. It doesn't tell you what the account is costing you. Two different numbers. Only one of them is on the invoice.&lt;/p&gt;

&lt;p&gt;The cost of a difficult account isn't "hours worked", which is the version most agency-finance software measures. It's "hours worked" plus a set of other, harder-to-measure numbers that behave like second-order costs on your entire business:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fragmented attention across the team.&lt;/strong&gt; A demanding account fragments not only the account manager but the two or three people they escalate to. The producer who could have spent an afternoon on planning spent it in a Slack thread. The founder who could have taken a sales call read a 900-word email and drafted a reply that would not offend. This cost never shows up on any timesheet because nobody thinks of "reading an email" as billable time. But it's exactly what a fee is supposed to cover. It's also larger than it looks. The &lt;a href="https://ics.uci.edu/~gmark/chi08-mark.pdf" rel="noopener noreferrer"&gt;research on interrupted work&lt;/a&gt; finds that people compensate for interruptions by working faster, at the price of measurably more stress and effort. So the team absorbing a demanding account isn't simply losing the minutes spent on it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bench avoidance.&lt;/strong&gt; Every senior person on your team eventually decides which two or three accounts they don't want to be staffed on. When a difficult account triggers that decision across three senior people at once, the account is running on your two juniors and your goodwill. Invisible on the org chart. Obvious in the team's mid-year review.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cascading tempo damage.&lt;/strong&gt; A single account whose response expectation is under two hours doesn't slow that account down. It slows every other account down. The producer with the eleven-inbox context switch is delivering less good work on the calm accounts too. The revenue on those calm accounts is being taxed by the difficult one. And none of them will ever bring it up.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these show up on the P&amp;amp;L in a way you can point to. They show up as a slow, unglamorous drift in team quality and account health that finally reaches the top line about two quarters after the causes started to accumulate. The cost is real. The line item to put it under doesn't exist. So it accrues in silence, in a place your finance software won't ever look. The purpose of the four signals below is to see the causes before they compound.&lt;/p&gt;

&lt;p&gt;There's also a reason revenue is a &lt;em&gt;psychologically&lt;/em&gt; dangerous instrument, not just an incomplete one. The longer you've held an account, the more you've invested in it. The relationship. The onboarding. The institutional knowledge. The year you spent getting the reporting right. All of that makes it harder to end, independently of whether it's worth keeping. That's the sunk cost effect, documented by Arkes and Blumer in &lt;a href="https://www.sciencedirect.com/science/article/abs/pii/0749597885900494" rel="noopener noreferrer"&gt;&lt;em&gt;The Psychology of Sunk Cost&lt;/em&gt;&lt;/a&gt;: the tendency to continue an endeavour once money, effort or time has been committed, driven largely by not wanting to appear wasteful. A large long-standing account is the highest sunk cost in the business. Which is precisely why "but they are our biggest client" feels like an argument when it's only a description.&lt;/p&gt;

&lt;h2&gt;
  
  
  Signal one: scope drift that is defended rather than fixed
&lt;/h2&gt;

&lt;p&gt;Scope drift is normal. Every retainer drifts. The question isn't whether it drifts. It's what happens when the drift is named.&lt;/p&gt;

&lt;p&gt;In a healthy account, when you raise "the last three requests were out of scope", the client either agrees and adjusts the ask, agrees and pays a change order, or asks for a re-scope conversation. All three are versions of the same behaviour. The client acknowledges that the scope document is a contract, and treats a mismatch between the document and the ask as a problem to be resolved.&lt;/p&gt;

&lt;p&gt;In an unhealthy account, the drift is defended. "That's what we always thought was included." "It's a small thing." "This is why we hired you, we shouldn't have to specify every deliverable." The specific defence varies. What's consistent is the pattern: the drift isn't a mistake to be fixed but a position to be maintained.&lt;/p&gt;

&lt;p&gt;The tell is that the client's response to naming the drift is more work for you, not less. A healthy client, told the last three requests were out of scope, sends fewer out-of-scope requests. An unhealthy client sends more. With better justification for why they should be free. Every out-of-scope ask now arrives with a small argument attached, pre-emptively closing the door on you charging for it. That's the tell within the tell. You are being asked to concede the scope conversation before you've had it.&lt;/p&gt;

&lt;p&gt;This is the first signal. It's early. The account is still profitable at this point on paper. The drift has cost you maybe six unbilled hours this month. But the pattern is now set, and it isn't going to un-set itself. When you see this, you have between one and two months to have the re-scope conversation (documented in &lt;a href="https://dev.to/post/how-a-profitable-retainer-quietly-becomes-an-unprofitable-one/"&gt;how a profitable retainer quietly becomes an unprofitable one&lt;/a&gt;, the three-move script is designed exactly for this moment). If the re-scope fails, you've moved into signal two.&lt;/p&gt;

&lt;h2&gt;
  
  
  Signal two: the approval chain grows
&lt;/h2&gt;

&lt;p&gt;Signal two shows up as new stakeholders. Every 6-8 weeks, a new person joins the approval conversation. The head of category. Then legal. Then the CFO's assistant. Then a consultant somebody hired to advise on the vendor relationship. Then somebody's boss.&lt;/p&gt;

&lt;p&gt;Each new person is individually reasonable. The problem isn't any single addition. It's the pattern. A healthy relationship stabilises around a small approval group after the first month or two. An unhealthy one accretes people at a rate that has nothing to do with the size or importance of your work.&lt;/p&gt;

&lt;p&gt;The mechanism behind the pattern is worth naming. When a client is dissatisfied with something they cannot articulate, they add reviewers. The theory is that another set of eyes will surface what's missing. In practice, each new set of eyes has slightly different criteria, and the deliverable that would have satisfied the original stakeholder now has to satisfy all of them. Which no deliverable ever does. So the client adds another reviewer. And the cycle deepens.&lt;/p&gt;

&lt;p&gt;For you, this shows up as re-work, re-work, re-work. Usually accompanied by increasingly vague feedback. "Not quite there." "Could you push it more?" "Maybe try a different direction." The instinct is to do more work. The correct diagnosis is that no deliverable is going to satisfy the current group. The account will consume the number of hours needed to satisfy a group whose composition will change again by the time you're back in the room.&lt;/p&gt;

&lt;p&gt;The fix at signal two is a re-scoping of the approval process, not of the deliverable. Not "let's clarify what you want", you cannot clarify what a moving target wants, but "let's clarify who owns the decision, so we're not shipping to a moving room". If the client agrees, the account can heal. If they cannot even name a single owner, the account has told you what you needed to know. There's no version of the deliverable that will settle the room, and continuing to serve it is a bet you will lose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Signal three: the brief that changes after delivery
&lt;/h2&gt;

&lt;p&gt;Signal three is more advanced. The deliverable is finished, on-brief, and delivered on time. Then the brief retroactively changes.&lt;/p&gt;

&lt;p&gt;You're told, in one form or another, that what you delivered "isn't quite what we needed". Despite it being exactly what the written brief asked for. The direction that was signed off in week one is now, in week four, "not what we thought we were saying". The version approved for launch on Monday is, on Tuesday, "not going to work with the CEO."&lt;/p&gt;

&lt;p&gt;This is different from an unclear brief. An unclear brief is a mistake at the start. A retroactively-changing brief is a pattern of moving the goalposts after the shot has landed. The two look similar in a single instance. Completely different across a series.&lt;/p&gt;

&lt;p&gt;The reason this pattern is dangerous is that it isn't, strictly, unreasonable. Sometimes a client genuinely changes their mind. Sometimes a stakeholder appears late and objects. Sometimes the market moves. In one-off cases it's a cost of doing business. As a pattern it's a diagnostic: this client cannot commit to a brief with the confidence needed to run a services relationship at all.&lt;/p&gt;

&lt;p&gt;The specific damage of signal three isn't the re-work. It's the psychological effect on your team of shipping work into a fog. A team that ships to a stable brief improves at the craft. A team that ships to a brief that will be redrawn after delivery stops improving, because there's no way to internalise "what good looks like" when the definition changes retroactively. Your good people leave first, quietly, and their exit interviews mention "unclear direction". Which is the polite version of "the target moved after every arrow landed".&lt;/p&gt;

&lt;p&gt;The action at signal three: you have one honest conversation about the pattern, using specific examples, and either the client acknowledges it and agrees to a written brief-lock (with change orders for material changes) or they explain it away. The explanation is your answer. This is the last stage at which the relationship can be repaired. If the brief keeps moving, you're at signal four.&lt;/p&gt;

&lt;h2&gt;
  
  
  Signal four: the account nobody on the team will staff
&lt;/h2&gt;

&lt;p&gt;The final signal is behavioural. And it's unmistakable.&lt;/p&gt;

&lt;p&gt;You need to staff the account. You ask the senior producer who has the right skills for it. They tell you they're already at capacity. You check. They are, on paper, but everyone is at capacity all the time in a services business, and this producer would normally find a way. They don't, this time. You ask the second-choice producer. They also cannot. You suggest a rotation that would free somebody up. It gets pushed back on. In the end you either take the account yourself, or you assign it to whoever's most junior, or you assign it to whoever won't push back.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is the whole signal.&lt;/strong&gt; Not that you talked to the team about it. Not that someone raised a concern. But that when you go to staff the account, everybody quietly reorganises their availability so it doesn't land on them.&lt;/p&gt;

&lt;p&gt;Your team has already decided that this account is one they cannot make succeed. And they've made the decision below the level of official conversation. They won't tell you in a meeting, because it feels petty. They'll tell you by being busy. The pattern is remarkably consistent and it appears about two quarters before the P&amp;amp;L notices anything. If you're paying attention to who volunteers and who doesn't when a new brief lands, you already know which accounts are healthy. The staffing meeting is the honest one. The forecast meeting is the polite one. They both know the same thing. Only one of them will say it out loud.&lt;/p&gt;

&lt;p&gt;At signal four, the account is over. Not because you've decided so, but because your team has, and your team is the reason the account is being delivered at all. Every day you continue is a day you either burn out yourself doing the work, or ship substandard work through your juniors, or lose a senior person to the account they said no to.&lt;/p&gt;

&lt;p&gt;The right action is to sunset the account at the next natural boundary. A renewal. A contract cycle. The end of a quarter. Not mid-project. Not in anger. Not with a long email. A one-line conversation, a written termination note, and a professional handover that lets the client take the work to a competitor if they want to. Ninety days later you'll wonder why you didn't do it three quarters earlier.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "firing on revenue" actually looks like
&lt;/h2&gt;

&lt;p&gt;I need to name the specific pattern the four signals above are meant to protect against. It's the most common way founders fire the wrong clients.&lt;/p&gt;

&lt;p&gt;The typical account-review looks like this. Monday morning. The P&amp;amp;L is out for the quarter. The finance meeting is looking for margin to protect. Somebody says "what if we let go of the smaller accounts?" The smallest three accounts are named. They add up to a manageable-looking revenue hit. The decision is taken.&lt;/p&gt;

&lt;p&gt;Six weeks later, three things happen. Two of the three released accounts referred you their next enquiry, which you no longer see. Your senior producer is quietly frustrated. The accounts they most enjoyed working on were two of the three you cut. And the large account you kept has, in the six weeks since the release, put in two additional stakeholders on its approval chain and produced eleven Slack messages after 9pm.&lt;/p&gt;

&lt;p&gt;You haven't saved margin. You've concentrated your revenue in an unhealthy account and cut off your best pipeline in exchange. That's what firing on revenue produces: a services business optimising for its worst customers by cutting its best ones.&lt;/p&gt;

&lt;p&gt;The four signals above are what you should be measuring instead. Which accounts are showing signals? Fire those. Which small accounts show none? Keep those. Especially the ones your team asks to be staffed on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one thing that is not a signal
&lt;/h2&gt;

&lt;p&gt;There's one behaviour that looks like a signal and isn't one: &lt;strong&gt;a client who negotiates hard on price at the start&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Hard price negotiation, up front, is usually a sign of a serious buyer who intends the relationship to last. They know what they can afford and they want you to price it correctly. Once the deal is done at a fair number, these are frequently the easiest accounts to run. They respect the scope. Respect the process. Expect you to earn the fee they agreed rather than to be paid for effort.&lt;/p&gt;

&lt;p&gt;The accounts that make the four signals show up are, more often, the accounts that didn't negotiate at the start. The ones that took your first quote, said "great", and started the work. The absence of negotiation looks like an ideal buyer and is often a signal you missed. The client didn't care about your price because they never intended for the arrangement to feel expensive to them at any point. That isn't the same thing as being a good buyer. That's a buyer who expects the price to buy them your attention on their terms.&lt;/p&gt;

&lt;p&gt;Watch signal one, not the price they paid. The buyer who fought you for a discount and then signed is usually the one who reads the scope document properly. The buyer who never asked is often the one who assumes the scope document is a suggestion. Which of those you want on your books is not a hard question, though the P&amp;amp;L on day one will disagree with you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Doing the exit well
&lt;/h2&gt;

&lt;p&gt;If you've reached the conclusion that an account should end, the exit itself is a business decision, not an emotional one. Two things matter. Neither of them is the temptation to say what you have wanted to say for six months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time it to a natural boundary.&lt;/strong&gt; A contract cycle. A quarter end. A retainer renewal. Never mid-project, never mid-sprint. The reason isn't politeness. It's that firing mid-project costs you an argument about the value of unfinished work, which is an argument nobody wins and which sours the professional reputation on both sides. Wait for the boundary. It's usually less than eight weeks away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offer the handover.&lt;/strong&gt; Say what work is complete, what work is in flight, what documents the client has, what documents they should ask for. Introduce them to a competent competitor if you can. Not one you dislike. One you'd be happy for them to be with. This costs you nothing that wasn't already lost and protects your reputation with everyone the client will speak to about the transition.&lt;/p&gt;

&lt;p&gt;The temptation to write a long final email explaining exactly what went wrong is powerful and always a mistake. You aren't persuading them of anything they will accept in the moment. You aren't owed an admission. The email will circulate for years. Keep the exit short, professional and dignified. If you have to write the long email to get it out of your system, write it, save it, and delete it the next morning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this fits with the rest of the work
&lt;/h2&gt;

&lt;p&gt;The four signals above are the diagnostic. The two neighbouring pieces of writing on the site are the treatment and the prevention.&lt;/p&gt;

&lt;p&gt;The treatment, when signals one and two have appeared but the account can still be repaired, is the re-scope conversation script in &lt;a href="https://dev.to/post/how-a-profitable-retainer-quietly-becomes-an-unprofitable-one/"&gt;how a profitable retainer quietly becomes an unprofitable one&lt;/a&gt;. If it works, the account heals. If it doesn't, you've advanced to signal three or four and the actions above apply.&lt;/p&gt;

&lt;p&gt;The prevention starts at the moment you take the account. The pricing model you set at the outset, whether the fee is priced for access, for a bucket of hours, or for a productised outcome, is the largest predictor of whether these signals will appear at all. That decision is in &lt;a href="https://dev.to/post/how-to-price-your-services-as-a-freelancer-or-consultant/"&gt;how to price your services as a freelancer or consultant&lt;/a&gt;, particularly the section on why retainers priced for hours reinvent hourly billing with a subscription wrapper.&lt;/p&gt;

&lt;p&gt;And if you've already reached the stage where a client has stopped paying entirely, a distinct problem from the one above, on the wrong side of the "still on the books" line, the sequence and the leverage are in &lt;a href="https://dev.to/post/the-client-has-stopped-paying-here-is-the-sequence-in-order/"&gt;the client has stopped paying: here is the sequence, in order&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How long should I wait between spotting a signal and acting on it?
&lt;/h3&gt;

&lt;p&gt;Signal one gives you one to two months to run a re-scope conversation before it hardens into signal two. Signals three and four are late-stage. You have one honest conversation, and if it doesn't land you sunset the account at the next natural boundary, usually inside eight weeks. Waiting a full quarter "to be fair" is almost always waiting for the P&amp;amp;L to catch up to what your team already knows.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if the account showing signals is my biggest client?
&lt;/h3&gt;

&lt;p&gt;Size makes the decision harder and the diagnostic more important, not less. A large account showing three of the four signals is doing more damage than a small one showing the same. It fragments more of your senior team's attention and sets the tempo everybody else has to match. Sunset at a natural boundary and use the notice period to reweight the pipeline. Don't keep it because the revenue line looks scary in isolation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I fire the client outright or try to fix the relationship first?
&lt;/h3&gt;

&lt;p&gt;At signals one and two, try to fix it. That's what the re-scope conversation is for, and healthy accounts respond by adjusting. At signals three and four, one honest conversation is the ceiling. If the pattern doesn't change after that, you aren't repairing a relationship, you're funding one that has already decided what it is. The order matters: attempted repair, then clean exit. Never repair-repair-repair until you're too tired to leave professionally.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if only one of the four signals is present, is that enough to end the account?
&lt;/h3&gt;

&lt;p&gt;Usually no, if it's signal one or two and the client responds when you name it. A single signal that gets acknowledged and corrected is a normal healthy account having a bad month. It's the compounding, two signals stacked, or signal three or four appearing on its own, that tells you the account is over. Watch the direction of travel, not any single instance.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I let a client go without burning the relationship?
&lt;/h3&gt;

&lt;p&gt;Time it to a natural boundary. A renewal. A quarter end. A contract cycle. Never mid-project. Send a short, professional termination note, offer a clean handover of what's in flight, and introduce a competent competitor if you can. Skip the long email explaining what went wrong. You aren't going to persuade them in the moment and the email will circulate for years.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if a client asks why I am ending the relationship?
&lt;/h3&gt;

&lt;p&gt;Give a short, non-blaming reason focused on fit. Something like "we're reshaping who we serve and this isn't the right match anymore". Not a list of grievances. You owe them a clean exit and a good handover. You don't owe them a diagnostic report on their own behaviour, and offering one rarely changes anything except your reputation. Keep it professional and let the handover do the talking.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does hard price negotiation at the start mean the client will be difficult later?
&lt;/h3&gt;

&lt;p&gt;No. Usually the opposite. Buyers who negotiate hard up front tend to respect the scope and the process once the deal is done at a fair number, because they know what they agreed to and why. The accounts that show the four signals are more often the ones who took your first quote without pushing back, because they never intended the price to constrain what they could ask for.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one-sentence version
&lt;/h2&gt;

&lt;p&gt;Fire on the four behavioural signals. Scope drift that is defended. An accreting approval chain. Briefs that change after delivery. And an account your team won't staff. Not on revenue. By the time revenue tells you an account should have gone, you've been paying for it in the currency your team resigns over, quietly, for two quarters. The signals above are what let you act before the resignation.&lt;/p&gt;

</description>
      <category>founder</category>
      <category>lessons</category>
    </item>
    <item>
      <title>When Performance Marketing Stops Working, and Brand Is the Only Lever Left</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Mon, 28 Sep 2026 17:38:03 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/when-performance-marketing-stops-working-and-brand-is-the-only-lever-left-2boo</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/when-performance-marketing-stops-working-and-brand-is-the-only-lever-left-2boo</guid>
      <description>&lt;p&gt;It always shows up the same way. The account has been fine for months. Then costs start drifting up. Not a cliff. A drift. You add budget and results don't move proportionally. You cut budget and costs don't come back down. Somebody says "the algorithm is broken", somebody else says "we need better creative", and a third person says the quiet part. &lt;em&gt;Maybe the market is just smaller than we thought.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;One of those three people is usually right. It's almost never obvious which. That's the actual problem. Diagnosis is hard, treatments are expensive, so most teams skip the diagnosis and buy a treatment.&lt;/p&gt;

&lt;p&gt;Here's how I work out which one I'm looking at. In the order that costs the least to check first. And what to do when the answer really is that the channel is finished and brand is the only lever left.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why rising costs are not automatically saturation
&lt;/h2&gt;

&lt;p&gt;Rising cost per acquisition has at least four common causes. Only one of them is saturation. Before you decide you've run out of market, you have to rule out the cheaper explanations. Three of the four are fixable in a week. The fourth takes two quarters.&lt;/p&gt;

&lt;p&gt;The four, in the order I check them:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;What it looks like&lt;/th&gt;
&lt;th&gt;Cost to fix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Measurement drift&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Conversions fall but revenue does not&lt;/td&gt;
&lt;td&gt;Hours to days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Creative fatigue&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frequency up, CTR down, cost up&lt;/td&gt;
&lt;td&gt;Days to weeks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Mix or seasonality shift&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;One segment moved, blended average followed&lt;/td&gt;
&lt;td&gt;Days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Genuine saturation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reach cost rises even with fresh creative&lt;/td&gt;
&lt;td&gt;One to two quarters&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The order matters. Every one of these produces the same headline symptom, a number going the wrong way on the dashboard. Diagnose in the wrong order and you spend the expensive fix on the cheap problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rule out measurement first, every single time
&lt;/h2&gt;

&lt;p&gt;Check that your numbers are still real before you believe anything they tell you. This is the first step, always. It's the one that gets skipped because it's boring.&lt;/p&gt;

&lt;p&gt;Tracking rarely fails loudly. A consent banner ships. A checkout moves to a new subdomain. Someone adds a redirect "temporarily". A tag manager container gets published with one container missing. The conversion count drops without a single error appearing anywhere. The campaign looks like it stopped working. Nothing about the campaign changed.&lt;/p&gt;

&lt;p&gt;The tell is a divergence between two things that should move together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Platform conversions fell, but back-office revenue did not.&lt;/strong&gt; That's a measurement problem, not a marketing problem. Nothing was lost except your ability to see it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Both fell together, by roughly the same proportion.&lt;/strong&gt; That's real. Carry on to the next check.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Same habit I keep with &lt;a href="https://dev.to/post/affiliate-tracking-breaks-quietly-catch-it-before-payout-day/"&gt;affiliate tracking, which also breaks quietly&lt;/a&gt;. Run one conversion through the whole system yourself instead of reasoning about it from a dashboard. Click your own ad. Complete the action. Watch it land in every system that's supposed to record it. Ten minutes. Honestly, it's saved me from an entire strategy conversation more than once.&lt;/p&gt;

&lt;p&gt;Everything downstream reads off this data. CAC, ROAS, payback, the decision to cut a channel. If you're unsure what each of those actually measures, &lt;a href="https://dev.to/post/marketing-metrics-explained-cpc-cpm-ctr-cpa-and-roas-in-plain-english/"&gt;the metrics guide&lt;/a&gt; is worth ten minutes before this conversation. The argument you're about to have with your team will be conducted entirely in those terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Then separate tired creative from a tired audience
&lt;/h2&gt;

&lt;p&gt;Creative fatigue and audience saturation produce nearly identical dashboards. The difference between them is the difference between a week of work and a quarter of it.&lt;/p&gt;

&lt;p&gt;The distinction is simpler than the vocabulary around it suggests.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Creative fatigue:&lt;/strong&gt; the people are still there, they're just bored of the ad.&lt;br&gt;
&lt;strong&gt;Saturation:&lt;/strong&gt; the ad is fine, there are fewer people left to show it to.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The test is direct. &lt;strong&gt;Launch genuinely new creative, a different angle, not a new colour on the same layout, and watch what happens to cost.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost recovers meaningfully. It was fatigue. You have a production problem, which is a resourcing question, not a strategy one.&lt;/li&gt;
&lt;li&gt;Cost recovers for a shorter time than the last refresh did. You have both. Fatigue is real, but the underlying pool is thinning, and each refresh is buying you less runway than the one before.&lt;/li&gt;
&lt;li&gt;Cost barely moves. The creative was never the constraint.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That middle case is the one people misread most often. Refreshes that keep working but work for less time each round. That's the clearest early signal of saturation I know, and it shows up a quarter before the blended numbers make it undeniable. If you track one thing, track &lt;em&gt;how long each creative refresh buys you&lt;/em&gt;. Watch that duration shrink.&lt;/p&gt;

&lt;p&gt;A word on "different angle, not a new colour". Changing the background and the model is a new asset, not new creative. If the promise, the objection it answers and the audience it speaks to are unchanged, you've re-shot the same ad and the test tells you nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check whether the average moved or the business moved
&lt;/h2&gt;

&lt;p&gt;Blended cost per acquisition can rise while nothing inside the account gets worse. This one catches experienced people. The arithmetic is invisible on a summary view.&lt;/p&gt;

&lt;p&gt;If a cheap segment shrinks, a seasonal product goes out of season, a promotion ends, one geography pulls back, the blended average is now weighted toward the expensive segment. Every individual line item is exactly where it was. The single number on the front page went up.&lt;/p&gt;

&lt;p&gt;So before you act, split the number by the dimensions that actually differ in cost. Product or offer. Geography. New versus returning. Device. If one row moved and the rest are flat, you have a mix story and there is no channel problem to solve. If every row moved in the same direction by roughly the same amount, you have a real one.&lt;/p&gt;

&lt;p&gt;This is also where full-funnel accounts fool themselves. Retargeting is cheap and it flatters the blend. If your prospecting is quietly getting more expensive while &lt;a href="https://dev.to/post/what-is-retargeting-a-beginner-s-guide-to-winning-back-lost-visitors/"&gt;retargeting&lt;/a&gt; holds the average down, the blended figure is hiding the exact number you need to see. Look at prospecting alone. That's where saturation shows up first, because that's the only part of the account that has to find new people.&lt;/p&gt;

&lt;h2&gt;
  
  
  What saturation actually looks like when it is real
&lt;/h2&gt;

&lt;p&gt;Saturation is confirmed when the cost of reaching &lt;em&gt;new&lt;/em&gt; people rises while the cost of reaching people at all stays flat. Everything else is a proxy for that one statement.&lt;/p&gt;

&lt;p&gt;The signals I look for, and what each one means on its own:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frequency climbing without a matching rise in new conversions.&lt;/strong&gt; You're showing the same finite group of people the same thing more often. Look at a rolling 7-day frequency, not lifetime. Lifetime frequency only ever goes up and tells you nothing about this week.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Incremental reach flattening.&lt;/strong&gt; Each additional slice of budget is buying fewer people who haven't already seen you. This is the purest form of the signal. On most platforms you can see it without any extra tooling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A budget increase that produces a smaller proportional lift.&lt;/strong&gt; Push spend up meaningfully and results move up much less. Do this deliberately as a test, for a bounded period, rather than discovering it by accident at the end of a quarter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CPM and CPA rising together, with CTR roughly stable.&lt;/strong&gt; Rising CPM with stable engagement usually means auction pressure, not a worse ad.&lt;/p&gt;

&lt;p&gt;The rule I apply. &lt;strong&gt;Do not act on one signal.&lt;/strong&gt; One signal is noise, a seasonal artefact, or a competitor's campaign that ends next week. Two signals pointing the same way for a full month is a diagnosis. This is a deliberately slow trigger, because the response to saturation is expensive and slow, and firing it on a bad fortnight is how a functioning channel gets dismantled.&lt;/p&gt;

&lt;h2&gt;
  
  
  The test that settles it without an MMM
&lt;/h2&gt;

&lt;p&gt;If you have no mix-modelling and no incrementality platform, a bounded holdout still answers the question. Almost every article on this subject quietly assumes tooling that a business with an in-house team of two does not have.&lt;/p&gt;

&lt;p&gt;Turn the channel off in one comparable region, or for one matched slice of the audience, and leave it off long enough to clear your usual purchase cycle. Then compare total orders in that slice against a slice where nothing changed.&lt;/p&gt;

&lt;p&gt;Two properties matter far more than the sophistication of the method.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The holdout has to run past your purchase cycle.&lt;/strong&gt; A two-week holdout on a six-week consideration cycle measures the delay, not the effect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nothing else in that slice changes during the test.&lt;/strong&gt; No pricing change, no email push, no new offer. One variable.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If demand in the held-out slice barely moves, you were harvesting people who were going to arrive anyway, and your true acquisition cost was never what the dashboard said. If it drops sharply, the channel is genuinely producing demand and the saturation is real but partial. You have a ceiling, not a wall.&lt;/p&gt;

&lt;p&gt;Yes, it costs you sales while it runs. That's the price of knowing. It's smaller than a year of spending into a channel you've misdiagnosed. Put the cost of the holdout in &lt;a href="https://dev.to/post/your-marketing-either-makes-money-or-it-doesn-t-here-s-the-sheet-that-tells-you/"&gt;the same unit economics sheet you use for everything else&lt;/a&gt; and it stops being a philosophical argument about measurement. It becomes a line item you can approve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why more performance tactics stop paying here
&lt;/h2&gt;

&lt;p&gt;Once a channel is genuinely saturated, tactical optimisation stops changing the outcome. Every remaining tactic operates on the same shrinking pool of people who already want what you sell.&lt;/p&gt;

&lt;p&gt;This is the part that's hard to accept. I've watched teams spend two quarters refusing to. Better bidding, tighter audiences, more creative variants, a new landing page. These are all real levers. None of them creates a person who was not previously in the market. &lt;a href="https://dev.to/post/performance-marketing-the-practical-playbook-i-actually-use/"&gt;Performance marketing captures demand&lt;/a&gt;. It's extremely good at that and it isn't built to do anything else. When you've captured most of the demand that exists, the machine isn't broken. It has finished.&lt;/p&gt;

&lt;p&gt;The honest framing is uncomfortable. Your acquisition cost was never a property of your ad account. It was a property of how many people already knew they wanted the thing you sell. You've been drawing down a balance somebody else built. The product, the word of mouth, the category itself. And the balance is low.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "brand" means when there is no brand budget
&lt;/h2&gt;

&lt;p&gt;Brand work at this stage isn't a campaign. It's making more people arrive already knowing who you are, so that the performance machine has something to capture next quarter.&lt;/p&gt;

&lt;p&gt;Most brand-versus-performance writing is ideological, written by people who sell one of the two. Here is the operational version. In the order I'd actually run it in a business without a spare crore for an awareness burst.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Fix what happens after the click before you buy more attention.&lt;/strong&gt; If the site, the offer and the follow-up are mediocre, awareness spend just introduces more people to a mediocre experience. This step is unglamorous. It's the highest-return thing on the list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Make the thing you are known for narrower.&lt;/strong&gt; Saturation is often a positioning problem wearing a media costume. A broad claim competes with everyone and is remembered by no one. A narrow, specific claim reaches fewer people and sticks to them. Fewer-and-sticks beats more-and-slides when the pool is thinning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Publish where the buying question is asked, not where the buyers are.&lt;/strong&gt; Search, community, and the specific places your category argues with itself. This compounds and does not reset when you pause spend. Which is the entire structural difference from paid.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Use the founder as the distribution channel.&lt;/strong&gt; In a small business the person carries reach that the entity does not. It's available immediately at no media cost. Which asset to build first is a real decision with real trade-offs. &lt;a href="https://dev.to/post/personal-brand-vs-company-brand-which-should-you-build-first/"&gt;Personal brand versus company brand&lt;/a&gt; works through the sequence, and it matters more here than usual, because the founder's reach is the only channel you can switch on this month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Only then buy attention above the funnel.&lt;/strong&gt; Broad reach, low frequency, one clear claim, sustained over months rather than burst over weeks. And do it with the expectation that it won't have a conversion column. Because it doesn't have one.&lt;/p&gt;

&lt;p&gt;Some of this is slower than any of us would like. That isn't a failure of the plan. It's what "the pool is thinning" means. The &lt;a href="https://dev.to/post/couple-of-learning-about-brand-building/"&gt;five brand lessons from working inside SMEs&lt;/a&gt; makes the same point from the other direction. The work is easiest to start before you need it, and everybody starts it when they need it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Measuring something with no conversion column
&lt;/h2&gt;

&lt;p&gt;You measure brand by watching the &lt;em&gt;inputs&lt;/em&gt; to your performance machine change. Not by looking for a new attribution row.&lt;/p&gt;

&lt;p&gt;Four things I watch. None of which requires a new platform.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Branded search volume.&lt;/strong&gt; Search Console, free, and the closest thing to a direct read on "more people know the name". Watch the trend over months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct and organic sessions as a share of total.&lt;/strong&gt; If awareness work is landing, the share of arrivals you didn't pay for should rise.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost per acquisition in your &lt;em&gt;cold&lt;/em&gt; prospecting only.&lt;/strong&gt; Brand working means paid gets cheaper. That shows up on the coldest audience first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conversion rate on unchanged pages.&lt;/strong&gt; Same page, same offer, better rate, over a quarter. Usually means people are arriving warmer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these is clean. All of them are laggy. Every one of them can be moved by something else. That's genuinely the state of the art for a business this size, and anyone offering you a tidier answer is selling the tidiness.&lt;/p&gt;

&lt;p&gt;If you're setting these up for the first time rather than diagnosing a channel that has already stalled, &lt;a href="https://dev.to/post/how-to-grow-your-brand-using-digital-channels/"&gt;the four proxies belong at the start of the plan, not the end of it&lt;/a&gt;. Recording the baseline in week two, while the numbers are still boring, is what makes the quarterly review possible at all.&lt;/p&gt;

&lt;p&gt;Set the review period before you start. A quarter, minimum. Write down what you expect to see. Deciding what counts as working &lt;em&gt;after&lt;/em&gt; you see the data is how brand budgets get cut in month two and re-approved in month nine, having achieved nothing in either direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  The mistakes I see most
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Declaring saturation during a bad fortnight.&lt;/strong&gt; Two weeks is noise. The threshold is two independent signals, sustained for a month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cutting the channel to zero.&lt;/strong&gt; A saturated channel is still profitable at a lower spend. It's just no longer a growth lever. Find the level where it clears your payback rule and hold it there. Turning it off entirely donates your existing demand to whoever bids next.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Buying awareness before fixing conversion.&lt;/strong&gt; Covered above. Worth repeating because it's the most expensive ordering error on the list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Judging brand spend on last-click.&lt;/strong&gt; It will lose. It was always going to lose. If last-click is the standard, don't start.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Treating a plateau as permanent.&lt;/strong&gt; Markets grow, categories expand, and a new product or geography resets the pool. Saturation is a statement about now, not forever.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How long should I run new creative before deciding it did not work?
&lt;/h3&gt;

&lt;p&gt;Long enough to clear &lt;a href="https://www.facebook.com/business/help/112167992830700/" rel="noopener noreferrer"&gt;the learning phase&lt;/a&gt; and your typical purchase cycle. And no longer. For most accounts that's two to three weeks. Judging inside a few days measures delivery volatility rather than the creative. Every early "the new ad is failing" call I've seen was made on a sample too small to say anything.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is a rising CPM proof that my audience is saturated?
&lt;/h3&gt;

&lt;p&gt;No. CPM rises for reasons that have nothing to do with you. A competitor's launch. A seasonal auction spike. A holiday period. It's one signal among several and should never trigger a decision on its own. Pair it with a reach or frequency measure before concluding anything.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I fix saturation by just widening the targeting?
&lt;/h3&gt;

&lt;p&gt;Sometimes, briefly. Widening reaches people who are less likely to buy, so conversion rate usually falls even as reach improves, and the net effect on cost per acquisition is often nothing. It's worth testing. It's cheap to test. It's not a strategy. It buys weeks, not quarters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I move budget from performance to brand, or add to it?
&lt;/h3&gt;

&lt;p&gt;Move a slice. Don't swap wholesale. Keep the performance channel at the level where it still clears your payback rule, and fund brand from the increment you'd otherwise have spent pushing a saturated channel harder. That framing also makes the trade-off explicit for whoever approves it. Which is half the battle.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I explain a spend with no attributable return to a founder or a board?
&lt;/h3&gt;

&lt;p&gt;By reframing what you're buying. You aren't buying conversions this quarter. You're buying a lower cost of conversions in future quarters. Agree the measurement window and the input metrics above &lt;em&gt;before&lt;/em&gt; the spend starts, and report against those. A brand budget with no agreed scoreboard is cancelled at the first cash-flow squeeze, every time. If your problem is that you're the one who has to make this argument to a founder or a board and you'd like an outside eye on the diagnosis before you present it, that's one of the specific situations &lt;a href="https://dev.to/work-with-me/"&gt;work with me&lt;/a&gt; is set up for.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Rising cost per acquisition has four common causes. Check them in cost order: measurement, creative, mix, then saturation.&lt;/li&gt;
&lt;li&gt;Verify tracking before you believe any of it. Platform conversions falling while revenue holds is a measurement problem, not a marketing one.&lt;/li&gt;
&lt;li&gt;The clearest early signal of saturation is that each creative refresh buys you less runway than the last.&lt;/li&gt;
&lt;li&gt;Never act on one signal. Two, sustained for a month, is a diagnosis.&lt;/li&gt;
&lt;li&gt;A bounded regional holdout answers the incrementality question without any specialist tooling.&lt;/li&gt;
&lt;li&gt;Once saturation is real, tactical optimisation stops working, because none of it creates new demand.&lt;/li&gt;
&lt;li&gt;Fix conversion, narrow the positioning, publish where the question is asked, use the founder's reach, then buy broad attention.&lt;/li&gt;
&lt;li&gt;Measure brand through branded search, unpaid share of traffic, cold prospecting cost and unchanged-page conversion rate. Agree the window before you start.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>brand</category>
      <category>building</category>
    </item>
    <item>
      <title>Who Owns the Ad Account? The Access Audit Every Founder Should Run Once a Year</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Sun, 27 Sep 2026 14:40:56 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/who-owns-the-ad-account-the-access-audit-every-founder-should-run-once-a-year-130f</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/who-owns-the-ad-account-the-access-audit-every-founder-should-run-once-a-year-130f</guid>
      <description>&lt;p&gt;Most founders find out who owns their ad account on the worst possible day. Not during a quarterly review. Not while reading a contract. On the afternoon they decide to change agencies, and discover that the pixel with three years of conversion history sits inside a business portfolio they've never had a login for.&lt;/p&gt;

&lt;p&gt;The uncomfortable part? Nobody did anything wrong. No agency set out to hold anything hostage. Someone was in a hurry during onboarding, clicked "create new" instead of "request access", and the asset was born in the wrong place. Three years later that one click is the reason a transition that should take an afternoon takes six weeks.&lt;/p&gt;

&lt;p&gt;This is an audit, not an accusation. Run it once a year, on a quiet afternoon, whether or not you're happy with everyone you work with. The point isn't to catch anyone. Ownership questions are trivially cheap to fix while the relationship is good. Nearly impossible to fix while it's ending.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "owning" an account actually means
&lt;/h2&gt;

&lt;p&gt;Owning an account means you hold the top-level administrative role on the container that holds the asset, using credentials on an email address at a domain you control.&lt;/p&gt;

&lt;p&gt;Three separate conditions in one sentence. Most founders only satisfy one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The container, not the asset.&lt;/strong&gt; In almost every ad platform, the thing that matters isn't the ad account. It's the organisational shell the ad account lives inside. Meta calls it a business portfolio. Google calls it a manager account. If your agency's shell owns your ad account, then removing the agency removes the account. Because the account was never a separate thing that could be handed back.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The top-level role.&lt;/strong&gt; Being able to log in and see campaigns isn't ownership. Google Ads has five distinct access levels: Email-only, Billing, Read-only, Standard and Admin. Only Admin can grant access, change other people's access levels, and manage manager-account links. Everything below Admin is a permission someone else can revoke. Google's own documentation makes the same point in reverse. An account with only one administrator risks losing tag access entirely if that person becomes unavailable. Which is why two admins is the floor, not a nicety.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On an email you control.&lt;/strong&gt; An admin role attached to &lt;code&gt;founder@gmail.com&lt;/code&gt; is better than nothing, and worse than it looks. If the person holding that address leaves, disputes the separation, or simply stops answering, you own the account in theory and not in practice. Every administrative role should sit on an address at your own domain. Ideally one that survives an individual's departure.&lt;/p&gt;

&lt;h2&gt;
  
  
  The assets to check, and who should hold each
&lt;/h2&gt;

&lt;p&gt;Work the list top to bottom. The order isn't arbitrary. Items near the top can be used to recover items further down. So an audit that starts at the bottom can waste a week proving things you could have taken back directly.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Asset&lt;/th&gt;
&lt;th&gt;Who should own it&lt;/th&gt;
&lt;th&gt;The failure mode&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Domain registration&lt;/td&gt;
&lt;td&gt;The company, at its own registrar account&lt;/td&gt;
&lt;td&gt;Registrar account in a developer's or agency's name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DNS / nameservers&lt;/td&gt;
&lt;td&gt;The company&lt;/td&gt;
&lt;td&gt;Hosted inside an agency's account "for convenience"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business email (Workspace / M365)&lt;/td&gt;
&lt;td&gt;The company, super-admin held internally&lt;/td&gt;
&lt;td&gt;Single super-admin who has left&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meta business portfolio&lt;/td&gt;
&lt;td&gt;The company; agency added as a partner&lt;/td&gt;
&lt;td&gt;Portfolio created by the agency, assets born inside it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meta pixel / dataset&lt;/td&gt;
&lt;td&gt;The company's portfolio&lt;/td&gt;
&lt;td&gt;Pixel owned by agency portfolio, history non-transferable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Ads account&lt;/td&gt;
&lt;td&gt;The company; agency links via manager account&lt;/td&gt;
&lt;td&gt;Account created under the agency's manager account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Analytics property&lt;/td&gt;
&lt;td&gt;The company&lt;/td&gt;
&lt;td&gt;Property in an agency-owned account, data not portable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Tag Manager container&lt;/td&gt;
&lt;td&gt;The company&lt;/td&gt;
&lt;td&gt;Container in an agency account; site tags depend on it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Search Console property&lt;/td&gt;
&lt;td&gt;Company holds verified ownership&lt;/td&gt;
&lt;td&gt;Only the agency is a verified owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Payment methods on ad accounts&lt;/td&gt;
&lt;td&gt;The company's card or billing profile&lt;/td&gt;
&lt;td&gt;Agency card, so spend history and credit sit with them&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Social accounts&lt;/td&gt;
&lt;td&gt;The company, with 2FA recovery internal&lt;/td&gt;
&lt;td&gt;2FA bound to a departed employee's phone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CRM / marketing automation&lt;/td&gt;
&lt;td&gt;The company&lt;/td&gt;
&lt;td&gt;Seat-based tools where the admin seat is an agency seat&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two rows deserve more than a line each.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The pixel and the analytics property are the ones with real, non-recoverable value.&lt;/strong&gt; A campaign can be rebuilt in a day. Ad creative can be re-uploaded. Three years of conversion history, audience seeds and learned optimisation signals cannot be exported and re-imported into a fresh pixel. You can move who has access to a dataset. You cannot move accumulated learning into a new one. This is why the pixel is the asset worth checking first, even though it feels like a technical detail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Search Console has a distinction that catches people out.&lt;/strong&gt; There is a difference between a verified owner, a delegated owner, and a full user. A delegated owner's status depends on a verified owner continuing to exist. If the verification token that made the agency an owner is removed, and you were never independently verified, you can lose the property. Verify ownership yourself, through your own DNS record. So your verification doesn't depend on anyone else's. If you want the wider picture on what that data can and cannot tell you once you hold it, &lt;a href="https://dev.to/post/your-search-console-numbers-are-lying-to-you-in-five-specific-ways/"&gt;your Search Console numbers are lying to you in five specific ways&lt;/a&gt; covers the interpretation side.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to actually check, platform by platform
&lt;/h2&gt;

&lt;p&gt;Reading a contract tells you what was agreed. Only the platform tells you what is true. Every check below takes under two minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Meta.&lt;/strong&gt; Open Business Settings in your business portfolio. Under Accounts, then Ad Accounts, look at each account and check which portfolio is listed as the owner rather than which people appear in the user list. Do the same under Data Sources for your pixel or dataset. If your portfolio isn't the owner, you have partner access to your own asset. Under Users, then Partners, you should see your agency listed as a partner with specific tasks assigned. That's the correct arrangement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google Ads.&lt;/strong&gt; Go to Admin, then Access and security. Confirm at least two people with Admin access, both on your domain. Then open Account settings, then Managers, to see every manager account linked to yours. A manager account link is how an agency should be connected. It's also something you can unlink yourself, which is exactly the property you want.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google Analytics.&lt;/strong&gt; In Admin, check Account access management as well as Property access management. They're separate. Someone can hold power at the account level that's invisible from the property view. Confirm you hold the Administrator role at account level.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tag Manager.&lt;/strong&gt; Check both account-level and container-level permissions, and specifically who holds Publish rights. Publish is the one that matters. Whoever holds it can change what runs on every page of your site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Search Console.&lt;/strong&gt; Settings, then Users and permissions. Confirm you appear as an Owner. Check Ownership verification to see how that ownership was established.&lt;/p&gt;

&lt;p&gt;Write down what you find before you change anything. Honestly, half the value of this audit is having last year's answer to compare against.&lt;/p&gt;

&lt;h2&gt;
  
  
  The order to fix things in, and the one sequencing trap
&lt;/h2&gt;

&lt;p&gt;Fix in this order: domain, then email, then everything else.&lt;/p&gt;

&lt;p&gt;The domain is first because it's the recovery mechanism for almost everything downstream. Control of DNS lets you re-verify Search Console independently, prove ownership to platform support teams, and re-establish email if you have to. If the domain sits in someone else's registrar account, nothing else you fix is durable.&lt;/p&gt;

&lt;p&gt;Here is the trap. It's a real one. Under &lt;a href="https://www.icann.org/en/contracted-parties/accredited-registrars/transfer-policy-01-06-2016-en" rel="noopener noreferrer"&gt;ICANN's Transfer Policy&lt;/a&gt;, registrars must apply a 60-day lock preventing transfer to another registrar following a change to the registrant's information. A domain also cannot be transferred during the first 60 days after initial registration, or after a previous registrar transfer. So if you update the registrant details to your company name first, and then try to move the domain to your own registrar account, you can find yourself locked out of the move for two months. By a rule that exists to protect you. ICANN's own guidance is explicit about the sequence. If the goal is to transfer the domain, complete the transfer first, then change the contact information.&lt;/p&gt;

&lt;p&gt;Some registrars allow the prior registrant to opt out of that lock. They're not obliged to. And the opt-out has to be exercised before the change request, not after. Assume you won't get it.&lt;/p&gt;

&lt;p&gt;Email comes second because password resets for every remaining platform land there. And because a super-admin account nobody at the company controls makes every other fix provisional.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to move things without breaking a live campaign
&lt;/h2&gt;

&lt;p&gt;The fear that stops most founders from fixing this is reasonable. Pausing a working funnel to satisfy a governance concern is a bad trade. It's also usually an unnecessary one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ownership changes and access changes are different operations.&lt;/strong&gt; Adding your business portfolio as an owner, or adding yourself as an Admin, doesn't remove anyone. You can bring your own control up to the correct level with the agency still fully in place. Nothing stops running. Do that part immediately and independently of any conversation about the relationship.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do the asset-by-asset transfers while everyone is still cooperating.&lt;/strong&gt; Meta asset transfers between portfolios need action from both sides. So does unlinking a manager account. Every one of these is a two-minute task for a working relationship, and a support-ticket saga for an ended one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Never make a tag change and a tracking change in the same week.&lt;/strong&gt; If you move a container and re-verify a property at once, and conversions drop, you won't know which change caused it. Move one thing. Wait for a clean day of data. Then move the next.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Retire access at separation, don't just intend to.&lt;/strong&gt; Removing a departing partner's access is a task with a date, not a sentiment. The same discipline applies to employees. If the idea of a written record of who touched what feels excessive, it's the same instinct behind &lt;a href="https://dev.to/post/what-to-log-when-an-ai-agent-acts-on-your-behalf/"&gt;what to log when an AI agent acts on your behalf&lt;/a&gt;. The log exists precisely for the situation where memory and goodwill are no longer available.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to write into the contract so next year's audit is boring
&lt;/h2&gt;

&lt;p&gt;The audit gets easier every year if the paperwork does part of the work. Four clauses cover most of it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Assets created during the engagement belong to the client.&lt;/strong&gt; Name the categories explicitly: ad accounts, pixels and datasets, analytics properties, tag containers, creative files, audience lists. Rather than relying on a general "work product" clause that was drafted with documents in mind.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Work happens under client-owned containers via partner or manager access.&lt;/strong&gt; This is the clause that prevents the wrong-click problem at onboarding. It makes the correct setup the contractual default, rather than a preference someone has to remember.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Access is returned within a fixed number of days of termination&lt;/strong&gt;, with a named list of what "returned" covers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Either party can request an access review once per quarter.&lt;/strong&gt; This is the one people leave out. It's also the one that makes the whole thing routine rather than confrontational. Asking to review access because the contract says you do it every quarter is a very different conversation from asking because you're unhappy.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A good agency will agree to all four without friction. From their side, this is simply the correct way to run an account. The sequencing that a well-run onboarding follows anyway is set out in &lt;a href="https://dev.to/post/the-first-90-days-of-an-agency-account-in-the-order-they-actually-matter/"&gt;the first 90 days of an agency account&lt;/a&gt;. Reluctance to put any of it in writing is itself information.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this connects to the harder conversations
&lt;/h2&gt;

&lt;p&gt;Access is the quiet infrastructure underneath every difficult decision a founder eventually has to make.&lt;/p&gt;

&lt;p&gt;If you're weighing whether a relationship has run its course, the honest version of that decision is much easier when you already know that leaving costs you an afternoon rather than a quarter. The signals worth acting on are covered in &lt;a href="https://dev.to/post/when-to-fire-a-client-the-four-signals-and-why-revenue-is-never-one/"&gt;when to fire a client, the four signals, and why revenue is never one&lt;/a&gt;. The mirror image applies to vendors you're thinking of leaving.&lt;/p&gt;

&lt;p&gt;And if the relationship is ending badly over money, the access question becomes charged in both directions. The principle I hold to when I'm the one owed money is to withhold labour, not assets. The reasoning is in &lt;a href="https://dev.to/post/the-client-has-stopped-paying-here-is-the-sequence-in-order/"&gt;the client has stopped paying: here is the sequence, in order&lt;/a&gt;. The reason to run this audit while everything is calm is so that you never have to find out whether the other party holds the same principle.&lt;/p&gt;

&lt;h2&gt;
  
  
  The annual version, compressed
&lt;/h2&gt;

&lt;p&gt;Once a year, block ninety minutes and do exactly this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open each platform's settings page and record the owning entity for every asset in the table above.&lt;/li&gt;
&lt;li&gt;Confirm at least two administrators per platform, both on company email addresses.&lt;/li&gt;
&lt;li&gt;Remove every person who no longer works with you, and every partner whose engagement has ended.&lt;/li&gt;
&lt;li&gt;Check that 2FA recovery for social accounts points at something the company controls, not an individual's personal phone.&lt;/li&gt;
&lt;li&gt;Confirm the payment method on each ad account is the company's.&lt;/li&gt;
&lt;li&gt;Diff this year's list against last year's, and ask about anything that moved.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step six is the one that turns an audit into a system. A single snapshot tells you the state of things. Two snapshots tell you the direction they're drifting in. Which is the thing you actually want to know.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Who legally owns an ad account created by an agency?
&lt;/h3&gt;

&lt;p&gt;Whoever controls the container it was created in, unless a contract says otherwise. And platform terms generally govern the operational reality regardless of what a contract says. This is why the contract clause and the platform setup both matter. The contract gives you a claim. The platform setup gives you the account. A claim without control means negotiating for something you already own on paper.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I transfer a Meta pixel to a different business portfolio?
&lt;/h3&gt;

&lt;p&gt;You can transfer ownership of a dataset between portfolios, and both sides need to act for it to complete. What you cannot do is move accumulated learning into a brand-new pixel. That history is tied to the dataset itself. This is the practical reason to fix pixel ownership early, rather than accepting a fresh pixel as a workable substitute later.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the difference between a Google Ads manager account and account ownership?
&lt;/h3&gt;

&lt;p&gt;A manager account links to your account to administer it. It doesn't have to own it. The correct arrangement is that your company holds the ad account with Admin access on your own emails, and the agency's manager account is linked. You can unlink a manager account yourself. Which is precisely why that structure is safer than an account created inside the agency's manager hierarchy.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many people should have admin access to an ad account?
&lt;/h3&gt;

&lt;p&gt;At least two, both on company email addresses. One is a single point of failure. Google's documentation warns specifically that a sole administrator becoming unavailable can cost you tag access. More than three or four dilutes accountability without adding resilience.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens to my domain if I change the registrant details before transferring it?
&lt;/h3&gt;

&lt;p&gt;You trigger a 60-day lock that prevents transferring the domain to another registrar. ICANN's Transfer Policy requires registrars to apply that lock after a change to registrant information. If your goal is to move the domain into your own registrar account, do the transfer first and update the contact details afterwards.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I run this audit if I trust my agency completely?
&lt;/h3&gt;

&lt;p&gt;Yes. Trust is the reason it's easy, not a reason to skip it. Almost every ownership problem I've seen came from a rushed onboarding click rather than bad intent. It stays cheap to fix for exactly as long as both parties are willing to spend two minutes in a settings screen. The audit is insurance against accident, not against malice.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if the agency refuses to transfer an asset?
&lt;/h3&gt;

&lt;p&gt;Escalate through the platform's support process with your contract and your domain control as evidence. Take the loss on anything genuinely non-recoverable rather than letting the dispute stall the business. Then rebuild what you must under containers you own. It's a bad outcome, and it's survivable. Which is why the sequencing advice above puts domain and email first. Those are the two that make everything else recoverable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ownership is the container plus the top-level role plus an email you control. Two out of three isn't ownership.&lt;/li&gt;
&lt;li&gt;Check the platform, not the contract. Settings screens tell you what is true.&lt;/li&gt;
&lt;li&gt;Fix in order: domain, email, then everything else. The top of the list recovers the rest.&lt;/li&gt;
&lt;li&gt;Transfer a domain &lt;em&gt;before&lt;/em&gt; changing registrant details, or eat a 60-day lock.&lt;/li&gt;
&lt;li&gt;Raise your own access to Admin today. It removes nobody and breaks nothing.&lt;/li&gt;
&lt;li&gt;Two admins per platform, both on company addresses. One is a single point of failure.&lt;/li&gt;
&lt;li&gt;Put the quarterly access review in the contract, so asking is routine, not adversarial.&lt;/li&gt;
&lt;li&gt;Diff this year against last year. The drift is the finding.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>founder</category>
      <category>lessons</category>
    </item>
    <item>
      <title>What to Log When an AI Agent Acts on Your Behalf</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Sun, 27 Sep 2026 14:40:55 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/what-to-log-when-an-ai-agent-acts-on-your-behalf-a8g</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/what-to-log-when-an-ai-agent-acts-on-your-behalf-a8g</guid>
      <description>&lt;p&gt;The reason I know exactly what to log when an AI agent acts on your behalf is this. I once ran a job whose only record of having fired was an untracked file and a broken connection. Seventy minutes of unattended writing. A complete draft. And no evidence anywhere else that the run had ever started. If you'd asked me the next morning whether the agent had done what it was told to, I couldn't have answered honestly. The only artefact I could point to was the one produced by the agent itself. And the one produced by the agent itself is exactly the one you can't trust.&lt;/p&gt;

&lt;p&gt;This post is the operating manual that came out of that morning. It isn't the compliance guide the platform vendors are writing. It's the honest small-shop version. The minimum log you need if you've decided to hand a machine the authority to write to your git repository, push to your live site, send an email under your name, or move money in your account. Everything below is from having run agents that do at least the first two of those things, on this website, unattended.&lt;/p&gt;

&lt;h2&gt;
  
  
  The morning that made me write logs
&lt;/h2&gt;

&lt;p&gt;The first autonomous publishing run on this site was supposed to write three posts overnight and commit them. It died at seventy minutes. The connection that carried the agent's session to my machine dropped. The process on the far side terminated. And the local environment had exactly what a local environment has when a process dies. An untracked file, no commit, no log entry, no evidence that the job had ever started.&lt;/p&gt;

&lt;p&gt;I found this out the next morning by looking at git status. There was a file. There was no cover for it. There were no internal links from any older post to it. There was no line in a run log saying "at 21:04 the agent picked topic X". Nothing except a Markdown file with a plausible slug and 3,141 words of prose that could have been written any time in the previous six hours.&lt;/p&gt;

&lt;p&gt;The failure wasn't the connection. The failure was that the entire evidence chain for whether the agent had done its job lived inside the agent's own process. When that process died, so did the evidence. I could see that a thing had been written. I couldn't see why it had been written, when, what topic it had rejected on the way, or whether any of the three posts it was supposed to write had actually been attempted. I had to reconstruct all of that from the file itself. Which is the equivalent of asking a defendant to write their own witness statement.&lt;/p&gt;

&lt;p&gt;The very next thing I did that day was change the procedure so the run log opened at the start of the run, not at the end. Every step in this post is a scar left by that morning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two categories: intent and effect
&lt;/h2&gt;

&lt;p&gt;There are two kinds of thing you have to log when an agent acts on your behalf. Confusing them is where most audit trails go wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intent&lt;/strong&gt; is what the agent chose to do. Which action it decided on. Why. What other actions it considered and rejected. And the field almost every vendor logging framework leaves out: what it explicitly refused to do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Effect&lt;/strong&gt; is what actually happened as a result. The commit sha. The API response. The file that landed on disk. The row that was inserted. The money that moved.&lt;/p&gt;

&lt;p&gt;Intent without effect is a plan. Effect without intent is a mystery. You need both. And you need them cross-referenced by a stable identifier that survives whether the agent finished, crashed, got killed by the operator, or was rate-limited by an upstream API.&lt;/p&gt;

&lt;p&gt;The distinction matters because one day, in the middle of the night, you'll get exactly one job that only produced half of these things. When that happens, you need to look at the log and answer, in under a minute, three questions. Did the agent get as far as deciding what to do but crash before doing it (safe, retry)? Did it decide what to do and do some of it (dangerous, investigate)? Or did it do the thing but never get to record that it had done it (worst, because the next run will probably do it again)?&lt;/p&gt;

&lt;h2&gt;
  
  
  The one artefact you cannot trust
&lt;/h2&gt;

&lt;p&gt;The agent's own summary of its run is unreliable. For three reasons that stack.&lt;/p&gt;

&lt;p&gt;First, the summary is written by the same actor whose behaviour it describes. This is a category of evidence a court would exclude. And there's no reason to hold your own audit trail to a lower standard than the one you'd demand of a witness in a room.&lt;/p&gt;

&lt;p&gt;Second, the summary is written from inside the process it summarises. If the process died before the summary got written, there is no summary. If the process died after the summary got written but before the effect landed, the summary reports an effect that didn't happen. The only summary you can trust is one you would still have if the process were killed at any point in its execution. The summary written by the process itself isn't one of those.&lt;/p&gt;

&lt;p&gt;Third, and this is the failure mode most people underestimate. The summary is optimised. The model has been trained to produce a coherent narrative of what it did. Which means it will fill in gaps to make the narrative hang together. It isn't deliberately lying. It's doing the thing it was trained to do, which is produce fluent explanation. If you rely on the agent's own after-action report as your evidence chain, you're relying on a fluent explanation. That's exactly the wrong thing to rely on when you need to know what really happened.&lt;/p&gt;

&lt;p&gt;The rule that comes out of these three. Log the effects from outside the agent. Log the intents from inside the agent. Never let the agent be the only witness to its own actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The minimum log
&lt;/h2&gt;

&lt;p&gt;The compliance guides are proposing thirteen-field logs with policy pointers, tenant IDs, GDPR retention markers, and a five-layer taxonomy. If you work at a bank, follow the compliance guides. If you're a founder who's given an agent access to your git repository and your Cloudflare account, you need something considerably shorter. Considerably more honest. And considerably more likely to actually get written every time. Here it is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Run ID.&lt;/strong&gt; A UUID or a timestamp-slug generated at the start of the run and written to disk before the agent does anything else. Every subsequent log line, every commit message the agent writes, every file it creates references this ID. If the process dies at second three, this file is your evidence that the run happened. If the process dies at second thirty and produces an orphan file with the run ID in its filename, you know at a glance which run to look at when reconstructing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Started-at, ended-at, exit reason.&lt;/strong&gt; Stored outside the agent's own process, in a file the wrapping script owns. The exit reason is the honest one. "Clean exit". "Operator killed". "Connection dropped". "Hit iteration cap". "Raised exception". "Completed successfully" isn't an exit reason. It's a summary, and it belongs elsewhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Inputs.&lt;/strong&gt; The prompt the agent was given, the configuration file it read, the environment variables that were set. And critically, the versions of any tools or models it used. If the agent picks up a slightly different model tomorrow because you upgraded the endpoint, the log for today needs to say which model ran today. Because next week when you compare outputs you won't remember.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Intent-per-step.&lt;/strong&gt; For each decision the agent makes, record the choice, the alternatives that were considered, and the reason the chosen one won. Pick a topic. Choose a category. Decide to refresh vs write new. Decide to commit. This is where the "the agent's own summary" concern applies most. Keep this log line short and factual, not narrative. "Chose X over Y because Y failed the four-part test" is auditable. "Considered several options and settled on X after careful thought" is prose.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Effects, from outside.&lt;/strong&gt; Every write the agent commits gets recorded by the wrapping script or the platform, not by the agent itself. A git commit sha. An API call and its HTTP status. A file created on disk with its byte size. An email queued with its message ID. The record survives the agent dying. And it can't be embellished by the same process that produced it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Declines.&lt;/strong&gt; The single most useful field, and the one nobody writes. Every time the agent explicitly decided &lt;em&gt;not&lt;/em&gt; to do something, log it, with the reason. Rejected a topic as failing a safety rule. Refused to publish a draft under the word-count floor. Backed off a commit because the build gate failed. When you audit an agent's behaviour six weeks later, the declines tell you as much about whether the safety constraints are working as the actions do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Retries and failures inside the run.&lt;/strong&gt; Not just the final exit. Every attempt that failed and was retried. A run that hit the API three times before succeeding is a different animal from a run that succeeded first go. If you never log the difference, you won't spot the day an upstream provider quietly starts failing.&lt;/p&gt;

&lt;p&gt;Seven fields. Compliance vendors will tell you to log fifty. If you can write seven honestly, every time, the seven you write will be worth more than fifty that get logged once and skipped whenever the run is under time pressure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to store it so it survives the run dying
&lt;/h2&gt;

&lt;p&gt;The one lesson from the morning that started this post. The log has to live outside the process it describes. That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The run ID gets written to disk in the first thirty seconds of the run, before the agent does any real work, in a file whose name contains the run ID.&lt;/li&gt;
&lt;li&gt;Every log line is flushed to disk as it's written, not buffered. Buffered logs are lost logs when the process dies.&lt;/li&gt;
&lt;li&gt;The exit is recorded by the wrapping script, not by the agent. If the agent is the one recording that it exited cleanly, the case where the agent lied about that is exactly the case you can't detect.&lt;/li&gt;
&lt;li&gt;Wherever practical, log to two places. A local file and something the operator can inspect from another device. On this site, that means a Markdown run log in the repo and, for the failures that matter, an issue in the repo's own issue tracker. If the machine that ran the job isn't reachable, the issue on GitHub is.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The two-places rule is the small-shop equivalent of what large systems call "log shipping" or "immutable audit sinks". You don't need Kafka. You need any two places that aren't both going to be down at the same time as the process that generated the log.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "reconstruct why the agent did X" actually looks like
&lt;/h2&gt;

&lt;p&gt;The test of whether your log is working isn't whether it has the right fields. It's whether, six weeks after a run, you can pick a specific action and answer the question: &lt;strong&gt;why did the agent do this?&lt;/strong&gt; Without asking the agent.&lt;/p&gt;

&lt;p&gt;Concretely, for this site. Pick any published post. Now, using only the log, answer four things. Which topic ID did it come from? Why was that topic chosen over the others in the same category on that day? Which alternatives were rejected during research? What commit sha carried the file to &lt;code&gt;main&lt;/code&gt;? If any of these four can't be answered from the log without opening the post itself, the log is missing something.&lt;/p&gt;

&lt;p&gt;For a customer-facing agent, the test is: pick any message the agent sent to a customer. Which conversation context produced it? Which policy check ran on it before it was sent? Which alternative responses were generated and rejected? Which message ID did the outgoing channel return? Same test, different verbs.&lt;/p&gt;

&lt;p&gt;If you can't pass the test, add fields until you can. If you can pass the test easily, resist the temptation to add more fields "just in case". The fields you never use are the fields your successor won't write when the log system gets ported to a new stack in eighteen months.&lt;/p&gt;

&lt;h2&gt;
  
  
  Retention: shorter than you think, longer than you want
&lt;/h2&gt;

&lt;p&gt;The compliance frameworks give retention numbers, and they're worth citing because they're the floor. &lt;a href="https://www.aicpa-cima.com/topic/audit-assurance/audit-and-assurance-greater-than-soc-2" rel="noopener noreferrer"&gt;SOC 2&lt;/a&gt; evidence typically covers twelve months. The &lt;a href="https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai" rel="noopener noreferrer"&gt;EU AI Act&lt;/a&gt; guidance for high-risk systems points to at least six months of decision logs unless another law extends the window. If you're anywhere near either regime, meet the floor.&lt;/p&gt;

&lt;p&gt;Under the floor, be honest about what you're trying to answer. For a solo operator running agents against their own systems, the useful retention is "long enough that any pattern of behaviour that would concern you has had time to become visible". In my experience that's roughly one to three months of full logs plus a summarised long tail. Longer than that and the logs stop being read. Shorter and you can't see the drift.&lt;/p&gt;

&lt;p&gt;Whatever you settle on, write it into the procedure. An unstated retention rule becomes "as long as the disk lasts" by default. And disks are neither compliant nor useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  The specific traps that catch small teams
&lt;/h2&gt;

&lt;p&gt;Six things that have caught me or someone I know running agent workflows on their own infrastructure. Fix them once and never think about them again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap one: logging into the same file the agent is writing.&lt;/strong&gt; The log line and the agent's output land in the same file. The log line is what gets truncated when the agent crashes mid-write. Separate the log file from the artefact file. Always.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap two: logging via the same network call that's failing.&lt;/strong&gt; A remote logging endpoint is fine until the day the network is the thing that broke. At which point the log of the network failure is the log line that couldn't be written because the network was broken. Log to disk first, ship to remote later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap three: logging only in the happy path.&lt;/strong&gt; The &lt;code&gt;try&lt;/code&gt; block logs "action succeeded". The &lt;code&gt;except&lt;/code&gt; block logs nothing because the developer assumed the exception itself was the log. The exception isn't the log. The exception is the &lt;em&gt;reason for&lt;/em&gt; the log line that also needs to say what the agent was trying to do when the exception fired.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap four: logging the agent's chain-of-thought verbatim.&lt;/strong&gt; Model chain-of-thought can be enormous, unstable across model versions, and often contains material that shouldn't be persisted. Customer data quoted back to the model. Tokens. Error messages containing secrets. Log the intent as a short structured field. The decision, the alternatives, the reason. Not the whole reasoning trace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap five: logging without a run ID that links intent to effect.&lt;/strong&gt; If your intent log lives in one file and your effect log lives in another and they share no identifier, you have two logs, not one audit trail. Every log line, everywhere, carries the run ID.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap six: assuming the model's summary of the run is the log.&lt;/strong&gt; It isn't. The model's summary is a piece of evidence produced by the actor being audited. It's useful. It's not sufficient. Read it and then read the log the wrapping script wrote. If the two disagree, believe the log.&lt;/p&gt;

&lt;h2&gt;
  
  
  The five-minute test for any agent you run today
&lt;/h2&gt;

&lt;p&gt;If you already run agents on your own systems, do this. Pick a run from any time in the last week. Pick one action inside that run. One commit. One email. One API call. Now, without opening the agent's output, answer four questions from your logs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which run did this action belong to?&lt;/li&gt;
&lt;li&gt;What was the agent trying to do at that moment?&lt;/li&gt;
&lt;li&gt;What did it consider doing instead, and why did it choose this?&lt;/li&gt;
&lt;li&gt;Did the action succeed, and what was the effect on the outside world?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you can answer all four in under two minutes, you have a log. If you can't, you have hope. And hope doesn't stand up in a review.&lt;/p&gt;

&lt;p&gt;Fix the missing field this week. Not next quarter. The next agent run is either going to prove the log works or expose that it doesn't. It's far cheaper to be the one who discovers the gap than the one whose customer discovered it first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this fits with the rest of the work
&lt;/h2&gt;

&lt;p&gt;The reason to log at all is that the space of failures an agent can produce is larger than the space of failures a human can. A human who forgets to send an email leaves an inbox. An agent that forgets to send an email leaves a log line that isn't written. Which is a different, and easier to miss, kind of evidence. The specific case where the workflow reports success and does nothing is covered in &lt;a href="https://dev.to/post/the-automation-failure-nobody-catches-the-workflow-that-runs-green-and-does-nothing/"&gt;The automation failure nobody catches: the workflow that runs green and does nothing&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If your problem is upstream of "what do I log", you haven't yet decided which tasks to hand to an agent at all. Start with &lt;a href="https://dev.to/post/how-to-automate-your-work-with-ai/"&gt;How to automate your work with AI&lt;/a&gt;, which frames the choice.&lt;/p&gt;

&lt;p&gt;If your interest is broader, where the whole direction of unattended AI systems is heading, and what that means for jobs and organisations built around human sign-off, the further-out picture is in &lt;a href="https://dev.to/post/ai-is-heading-toward-autonomy-what-dark-factories-tell-us-about-what-s-next/"&gt;AI is heading toward autonomy: what dark factories tell us about what's next&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Logging is one half of running unattended agents. The other is deciding what they're allowed to touch at all. The audit trail lets you reconstruct &lt;em&gt;why&lt;/em&gt; the agent did what it did. The permissions boundary is what limits &lt;em&gt;what&lt;/em&gt; it could have done in the first place. The two are designed together. That decision framework, blast-radius classification, standing vs just-in-time tokens, and the three artefacts every Class 2+ permission needs, is in &lt;a href="https://dev.to/post/deciding-what-an-ai-agent-is-allowed-to-touch/"&gt;deciding what an AI agent is allowed to touch&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How long should I keep agent logs before deleting them?
&lt;/h3&gt;

&lt;p&gt;If you're under SOC 2 or the EU AI Act, meet the floor those regimes set. Twelve months for SOC 2 evidence and at least six months for high-risk system decision logs. For a solo operator running agents on their own systems, one to three months of full logs plus a summarised long tail is usually enough to see drift without the logs going unread.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if the agent crashes before it writes any log at all?
&lt;/h3&gt;

&lt;p&gt;That's the case the run ID is designed to catch. Write the run ID to disk in the first thirty seconds, before the agent does any real work. Even a three-second crash leaves an evidence file behind. If you can't see a run ID file, the wrapping script didn't start properly. Which is a different bug from an agent failure and worth fixing separately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I log the model's full chain-of-thought or just the decision it made?
&lt;/h3&gt;

&lt;p&gt;Just the decision, the alternatives it considered, and the reason. As a short structured field. Chain-of-thought traces are enormous, unstable across model versions, and often contain material that shouldn't be persisted. Storing them creates more risk than value for a small-team audit trail.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many log fields do I actually need to start with?
&lt;/h3&gt;

&lt;p&gt;Seven. Run ID, timestamps and exit reason, inputs, intent-per-step, effects captured from outside, declines, and retries. Compliance vendors will push fifty. Seven you write honestly every run is worth more than fifty that get skipped whenever a job is under time pressure.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if I already run agents and have no logs at all, where do I start?
&lt;/h3&gt;

&lt;p&gt;Add the run ID and the wrapping-script exit reason first. Those two survive the process dying and unlock everything else. Then run the five-minute test on a recent action and add whichever field you needed to answer the four questions but couldn't.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I use a remote logging service or just write to a local file?
&lt;/h3&gt;

&lt;p&gt;Write to a local file first and ship to remote later. A remote-only setup fails exactly when you need it most. The day the network is the thing that broke is the day the log line about the network breaking can't be written.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if the agent's summary and the wrapping-script log disagree?
&lt;/h3&gt;

&lt;p&gt;Believe the log. The agent's summary is written by the actor being audited from inside the process being described. Any conflict with an outside-observed log is resolved in favour of the outside observer. Same standard you'd apply to any other witness.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one-sentence version
&lt;/h2&gt;

&lt;p&gt;Log intent from inside the agent, log effect from outside the agent, cross-reference both by a run ID that survives the process dying, and treat the agent's own summary of its run as evidence to be checked against the log rather than as the log itself. Everything else is variation on those four rules. The day you skip any of the four is the day you find out which one you skipped.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
    </item>
    <item>
      <title>What Is Retargeting? A Beginner's Guide That Actually Works</title>
      <dc:creator>Prabhash Jha</dc:creator>
      <pubDate>Sat, 26 Sep 2026 13:45:05 +0000</pubDate>
      <link>https://dev.to/prabhash_jha_891cf98a0eca/what-is-retargeting-a-beginners-guide-that-actually-works-3clf</link>
      <guid>https://dev.to/prabhash_jha_891cf98a0eca/what-is-retargeting-a-beginners-guide-that-actually-works-3clf</guid>
      <description>&lt;p&gt;Retargeting is showing ads to people who've already touched you in some way. Visited your site. Watched a video. Added something to a basket. Opened an email.&lt;/p&gt;

&lt;p&gt;The logic behind it is straightforward, and it's sound. Most people don't buy on a first visit. Somewhere between 95% and 98% of visitors leave without converting. If you have no way to reach them again, that traffic is just gone. Retargeting is how you get a second conversation.&lt;/p&gt;

&lt;p&gt;It's also the most over-credited tactic in digital marketing. And that's worth understanding before you spend anything on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it actually works
&lt;/h2&gt;

&lt;p&gt;Three steps. The middle one is where most implementations fall apart.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1 · Something records the visit.&lt;/strong&gt; A pixel or tag on your site (Meta Pixel, Google tag) fires when someone loads a page. That person gets added to a list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2 · That list becomes an audience.&lt;/strong&gt; "Everyone who visited in the last 30 days." "Everyone who reached checkout but didn't buy." This is the part people get wrong. The section below is about why.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3 · You show ads to that audience&lt;/strong&gt; across whatever inventory the platform can reach. Instagram. Facebook. YouTube. The Display Network. Other apps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One important change:&lt;/strong&gt; third-party cookies are being restricted across browsers. Safari and Firefox already block much of this. In practice, browser-based retargeting windows are shorter than they used to be, and your audiences are smaller. First-party approaches (your email list, uploaded customer lists, server-side tracking) have become materially more reliable than pixel-only setups. If someone's advice on this predates about 2023, treat it as out of date.&lt;/p&gt;

&lt;h2&gt;
  
  
  The audiences worth building
&lt;/h2&gt;

&lt;p&gt;The default is "everyone who visited the site". That's the worst one. It treats a person who bounced in three seconds identically to someone who spent ten minutes reading your pricing page.&lt;/p&gt;

&lt;p&gt;Segment by &lt;strong&gt;how much interest they showed&lt;/strong&gt;. And spend accordingly.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Audience&lt;/th&gt;
&lt;th&gt;Intent&lt;/th&gt;
&lt;th&gt;What to show&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bounced in under 10 seconds&lt;/td&gt;
&lt;td&gt;Near zero&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Nothing. Exclude them.&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read one article&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;More content, not an offer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Visited a product or pricing page&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;The product, with a specific reason to return&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Started checkout, didn't finish&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Very high&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;A reminder, and address the objection&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bought already&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Exclude, or show something different&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two of those rows are exclusions. They matter as much as the inclusions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Excluding bouncers&lt;/strong&gt; stops you paying to chase people who never engaged. Honestly, in most accounts they're the largest segment by a mile. Advertising to them is where retargeting budgets quietly die.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Excluding buyers&lt;/strong&gt; stops the single most irritating experience in online advertising. Being followed for three weeks by an ad for something you already own. It also wastes money on people who cannot convert again. Every retargeting campaign needs a purchaser exclusion. A surprising number don't have one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest problem: retargeting steals credit
&lt;/h2&gt;

&lt;p&gt;This is the part most guides skip. It changes how you should judge the numbers.&lt;/p&gt;

&lt;p&gt;Retargeting targets people who &lt;strong&gt;already showed intent.&lt;/strong&gt; A meaningful share of them were going to come back anyway. They bookmarked you. They were comparing options. They were waiting for payday. When they return and buy, the retargeting ad claims the conversion.&lt;/p&gt;

&lt;p&gt;So a retargeting campaign showing a spectacular 12× ROAS is often not generating 12×. It's &lt;strong&gt;taking credit for sales that would have happened without it.&lt;/strong&gt; The dashboard cannot tell the difference. All it sees is that an ad was shown, and a sale followed.&lt;/p&gt;

&lt;p&gt;This doesn't make retargeting useless. It makes the reported number unreliable. Three practical consequences flow from that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Judge it on incremental lift, not reported ROAS.&lt;/strong&gt; The real question isn't "how much revenue did this campaign report". It's "how much more did I sell than I would have without it".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test it by holding out.&lt;/strong&gt; Exclude a random slice of your retargeting audience, say 20%, for a month. Compare their conversion rate against the group that saw ads. The difference is the actual contribution. Most platforms support this. Almost nobody does it. It's the single most valuable test in this article.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Be sceptical of very high ROAS.&lt;/strong&gt; A retargeting campaign reporting far better returns than everything else usually indicates credit-stealing, not brilliance. Genuinely incremental retargeting produces good numbers. Not absurd ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequency: the thing that turns it negative
&lt;/h2&gt;

&lt;p&gt;Retargeting is the only channel that can actively damage your brand. That's because the same small audience sees your ads over and over.&lt;/p&gt;

&lt;p&gt;Without a cap, someone who visited once gets served the same creative for weeks. Past a point, additional impressions don't just stop working. They generate irritation. Which is a real cost you never see measured.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sensible defaults:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cap frequency&lt;/strong&gt; at roughly 3–5 impressions per person per week.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cap duration.&lt;/strong&gt; A 30-day window suits most businesses. Someone who hasn't returned in 30 days isn't going to because of a sixth ad.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rotate creative&lt;/strong&gt; every two to three weeks. Performance decay in retargeting is mostly fatigue. Not audience exhaustion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exclude converters immediately&lt;/strong&gt;, not at the end of the campaign.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A useful test. Would &lt;em&gt;you&lt;/em&gt; find this frequency acceptable if you were the one being followed? People are unreasonably tolerant of their own campaigns. And unreasonably annoyed by everyone else's.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to actually say
&lt;/h2&gt;

&lt;p&gt;The most common mistake is showing the same message they already ignored.&lt;/p&gt;

&lt;p&gt;They saw your offer. They didn't act. Repeating it louder rarely works. Better approaches, by audience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For content readers:&lt;/strong&gt; more of what they came for. The goal is a second visit. Not a sale. Trying to close someone who read one blog post is why "retargeting doesn't work for us" gets said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For product viewers:&lt;/strong&gt; show the specific thing they looked at. Add the information that might have been missing. Delivery time. Returns policy. A review. The size guide. Most abandonment is an unanswered question, not a pricing objection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For abandoned checkouts:&lt;/strong&gt; the highest-value audience by a distance. Be direct. Remind them what's waiting. Address the usual blockers. Shipping cost. Payment options. A guarantee.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On discounts:&lt;/strong&gt; the reflex is to offer one. Be careful here. If you routinely discount to abandoners, people learn to abandon. Try answering the objection first. Hold the discount for a later touch if at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where retargeting isn't the answer
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;When your traffic is too small.&lt;/strong&gt; Retargeting needs volume. With a few hundred visitors a month, you'll have an audience of dozens. The platform won't deliver efficiently. The money is better spent getting more people in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When the product is a one-off, low-value purchase.&lt;/strong&gt; The economics rarely justify the setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When the real problem is the landing page.&lt;/strong&gt; If people arrive and leave immediately, retargeting pays twice to bring back people the page will fail again. Fix the page first. Retargeting multiplies whatever your site already does.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When you have an email list.&lt;/strong&gt; Email costs almost nothing per contact and reaches people directly. If someone gave you an address, use that before paying to advertise to them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The privacy side, and why it's not optional
&lt;/h2&gt;

&lt;p&gt;Retargeting is the tactic people find most unsettling. The regulation around it has tightened accordingly. This section is short, but skipping it creates real exposure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consent before tracking.&lt;/strong&gt; Under GDPR and similar regimes, dropping an advertising pixel requires consent obtained &lt;em&gt;before&lt;/em&gt; it fires. Not a banner that loads after the tag has already run. A cookie notice that says "by continuing you agree" while tracking from the first millisecond does not meet the standard. That pattern is extremely common.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Say what you're doing.&lt;/strong&gt; Your privacy policy should state plainly that you use advertising cookies. Name the platforms. Explain how someone opts out. Vagueness here is what turns a technical breach into a complaint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't retarget on sensitive inference.&lt;/strong&gt; Health conditions. Financial distress. Sexuality. Religion. Both major platforms prohibit targeting built on these, and the reputational damage from getting it wrong far exceeds any campaign gain. The classic failure is retargeting people who viewed a medical or debt-related page. Technically easy. A serious problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Honour deletion requests.&lt;/strong&gt; If someone asks to be removed, they need removing from your uploaded audiences too. Not just your CRM. Custom audiences persist independently and are routinely forgotten.&lt;/p&gt;

&lt;p&gt;The practical framing: &lt;strong&gt;retargeting is the most visible thing you do.&lt;/strong&gt; People notice being followed in a way they never notice a search ad. Doing it carelessly costs you more in trust than it earns in conversions. Which is the same argument as the frequency cap, arriving from a different direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why your audiences are smaller than they used to be
&lt;/h2&gt;

&lt;p&gt;If you've run retargeting before and your audience sizes look wrong, they probably are. The ground moved. And it moved on purpose.&lt;/p&gt;

&lt;p&gt;Retargeting was originally built on third-party cookies. Browsers have spent years dismantling them. Safari's WebKit announced that "cookies for cross-site resources are now blocked by default across the board" in March 2020, alongside "deleting all of a website's script-writable storage after seven days of Safari use without user interaction on the site" (&lt;a href="https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/" rel="noopener noreferrer"&gt;WebKit: Full Third-Party Cookie Blocking and More&lt;/a&gt;). Other browsers have moved in the same direction at their own pace.&lt;/p&gt;

&lt;p&gt;Three practical consequences. None of which are a reason to stop.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your real audience is smaller than the pool you imagine.&lt;/strong&gt; A meaningful share of visitors will never enter it. Plan spend against the audience the platform actually reports, not against your traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long windows are largely fiction now.&lt;/strong&gt; A 180-day audience built on browser storage is not a 180-day audience. Short windows were always the better performers. Now they're also the more honest ones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;First-party signal is the fix.&lt;/strong&gt; Server-side conversion APIs, logged-in identifiers and email lists survive what the browser deletes. Same argument as the email point above, arriving from the technical side.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A sensible setup
&lt;/h2&gt;

&lt;p&gt;If you're starting from nothing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install the pixel or tag properly&lt;/strong&gt; and verify it fires. On every page. And specifically on checkout and purchase events. Broken tracking is the most common failure, and it fails silently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build three audiences:&lt;/strong&gt; product/pricing viewers (30 days), checkout abandoners (7 days), and purchasers (180 days, used as an exclusion).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run one campaign&lt;/strong&gt; to abandoners first. Highest intent. Clearest message. Fastest read on whether any of this works for you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cap frequency and duration&lt;/strong&gt; before launch, not after complaints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;After a month, run a holdout test.&lt;/strong&gt; Learn what it's genuinely contributing before you scale it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step 5 is the one that separates people who use retargeting from people who are used by it.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is retargeting in simple terms?
&lt;/h3&gt;

&lt;p&gt;Showing ads to people who've already interacted with you. Visited your site. Watched a video. Abandoned a basket. Since most people don't buy on a first visit, it's a way to reach them again rather than losing that traffic entirely.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's the difference between retargeting and remarketing?
&lt;/h3&gt;

&lt;p&gt;In practice, nothing. They're used interchangeably. Historically "remarketing" leaned toward email follow-up and "retargeting" toward paid ads. But Google uses "remarketing" for its ad product and the distinction has effectively disappeared.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does retargeting still work with cookie restrictions?
&lt;/h3&gt;

&lt;p&gt;Yes, but less well than it used to. Safari and Firefox already block much third-party tracking and windows are shorter. First-party approaches (your email list, uploaded customer lists, server-side tracking) are now materially more reliable than pixel-only setups.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long should a retargeting window be?
&lt;/h3&gt;

&lt;p&gt;Around 30 days for most businesses. Shorter for impulse purchases. Longer for considered ones. Someone who hasn't returned in 30 days is unlikely to return because of another ad, and continuing to serve them mostly generates irritation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why does my retargeting show such a high ROAS?
&lt;/h3&gt;

&lt;p&gt;Usually because it's claiming credit for sales that would have happened anyway. Retargeting targets people who already showed intent, and many were returning regardless. Test it with a holdout. Exclude 20% of the audience for a month and compare. That'll show you the actual incremental contribution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I offer a discount to people who abandoned their basket?
&lt;/h3&gt;

&lt;p&gt;Cautiously. Routine discounting to abandoners teaches people to abandon. Most abandonment is an unanswered question. Shipping cost. Delivery time. Returns. Answer the objection first and hold any discount for a later touch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Retargeting reaches people who already showed interest. Which is why it looks so effective, and why the numbers mislead.&lt;/li&gt;
&lt;li&gt;Segment by depth of interest. Exclude bouncers and buyers. The exclusions matter as much as the audiences.&lt;/li&gt;
&lt;li&gt;Reported ROAS overstates the contribution. Run a holdout test to find the real lift.&lt;/li&gt;
&lt;li&gt;Cap frequency (3–5 a week) and duration (about 30 days). Rotate creative every few weeks.&lt;/li&gt;
&lt;li&gt;Don't repeat the message they already ignored. Answer the objection instead.&lt;/li&gt;
&lt;li&gt;If the landing page is the problem, retargeting just pays twice to fail twice.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Related reading:&lt;/strong&gt; &lt;a href="https://dev.to/post/what-is-a-marketing-funnel-a-simple-guide-with-real-examples"&gt;what is a marketing funnel&lt;/a&gt;, &lt;a href="https://dev.to/post/marketing-metrics-explained-cpc-cpm-ctr-cpa-and-roas-in-plain-english"&gt;marketing metrics explained&lt;/a&gt;, and &lt;a href="https://dev.to/post/google-ads-vs-meta-ads-which-should-a-beginner-start-with"&gt;Google Ads vs Meta Ads&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>digital</category>
      <category>marketing</category>
    </item>
  </channel>
</rss>
