Post

Campaign Lifecycle Inside a DSP: From Advertiser Brief to Bidding Decisions

Turn a ₹1,00,000 campaign into line items, targeting, creative approvals, pacing, frequency controls, and a measured optimization loop inside a DSP.

Learning path · Lesson 6 of 16

AdTech from first principles

  1. The invisible auction
  2. From campaign budget to publisher payment
  3. Who decides which ad gets served?
  4. The millisecond handshake
  5. Anatomy of an OpenRTB auction
  6. Campaign lifecycle inside a DSP You are here
  7. Trusting the programmatic supply chain
  8. ML in the millisecond
  9. A real-time ad platform under a millisecond budget
  10. The data exhaust of a page load
  11. The post-cookie frontier
  12. Practical privacy on the web
  13. Learning the win curve
  14. From win curve to bidding
  15. Floor-price optimization
  16. What did the ad actually cause?
Campaign Lifecycle Inside a DSP: From Advertiser Brief to Bidding Decisions

Urban Hiker wants to sell waterproof boots. The marketing brief is short: run a ten-day campaign, spend no more than ₹1,00,000, and aim for purchases at an acceptable acquisition cost.

An auction request contains none of that intent. It describes an opportunity on a page or in an app. When Priya opens Wanderlust Weekly, the DSP has to connect that opportunity to the advertiser’s instructions: which campaign may participate, which creative can run, how much spending room remains, and whether another impression is useful.

Our OpenRTB article followed the message that crosses the exchange-to-bidder boundary. Here we build the campaign that exists behind the bidder. Our two-ledgers article sketched that setup in a single table; this article builds it out and follows it through configuration, review, launch, spending control, optimization, and closure.

All campaign settings, prices, counts, and policies in the running example are hypothetical. We use campaign → insertion order → line item as our teaching hierarchy, with creatives assigned to line items. Platforms differ in names, inheritance rules, and available controls. Google’s Display & Video 360 documentation supplies concrete implementation examples; this article is a system walkthrough, not a sequence of clicks in that product.


1. Translate the Brief into a Measurable Objective

“Sell more boots” is a business objective. Turning it into an optimization rule takes several more decisions.

Suppose Urban Hiker chooses cost per acquisition, or CPA, as its operating metric, with a target of ₹500 per attributed purchase. We define CPA here as the campaign’s all-in advertising cost divided by its counted purchases. At exactly that CPA, spending the full ₹1,00,000 would correspond to 200 attributed purchases.

Before launch, the team must define what counts. Our example chooses a completed purchase event, deduplicated by order ID, with a seven-day click attribution window and view-through conversions reported separately. A purchase attributed to an ad is still different from a purchase caused by it, as our attribution and incrementality article explains.

The brief becomes a more precise operating agreement:

DecisionUrban Hiker’s example
ObjectiveIncrease boot purchases
Optimization eventDeduplicated completed purchase
Operating target₹500 all-in CPA on the chosen attribution definition
Budget₹1,00,000 authorized; initially ₹90,000 allocated to delivery
FlightTen days, with boundaries defined in Asia/Kolkata
Buying modeWeb-display impressions in first-price auctions
Initial targetingOutdoor context and a separately permitted returning-visitor audience
Exposure policyAt most three recorded exposures per recognized ID in a rolling 24-hour window

Three distinctions prevent expensive confusion. The objective is purchases; the media billing unit is impressions. A CPA target therefore does not mean the advertiser pays only when someone buys. The budget is a ceiling; the CPA target is a performance aim. Both may not be achievable with the available inventory. The conversion definition is part of the objective. Changing it halfway through changes what success means.

For example, switching the optimization event from purchases to add-to-cart events can make the reported cost per event look much better without increasing sales. A useful campaign record preserves the event definition alongside the target value, so “₹500” always appears with its denominator.


2. Build a Hierarchy That Reflects Decisions

The campaign groups the business effort. An insertion order, or IO, provides a buying allocation and associated controls. A line item is a separately configurable buying tactic: the inventory, targeting, creatives, and bidding behavior that should operate together. A creative is an ad asset or tag that can be assigned to one or more compatible line items.

In DV360, for example, an insertion order provides a shared budget, flight and status controls, and constraints on its line items. That is described in Google’s insertion-order guide. In some organizations, the business contract behind a purchase and the IO object inside the software are different things.

We create one boot-launch campaign and one ten-day IO. It contains two line items:

  • Outdoor discovery: ₹60,000 for reaching potential customers on relevant outdoor content.
  • Returning visitors: ₹30,000 for eligible, recognized visitors to Urban Hiker’s boot pages, where the audience use is permitted.

The remaining ₹10,000 is unallocated reserve. It is not a third bidder and cannot spend itself. Releasing it requires a deliberate allocation change. Our illustration uses fixed line-item allocations; a platform’s automatic allocation mode can work differently.

The Urban Hiker campaign contains one insertion order with a ₹1,00,000 authorization, ten days, and one frequency cap shared by both line items. A to-scale bar splits the authorization into ₹60,000 and ₹30,000 allocations, which flow to the Outdoor discovery and Returning visitors line items, and a dotted ₹10,000 unallocated reserve that flows nowhere. One approved 300 × 250 creative is assigned to both line items. Figure 1. One budget, two buying tactics. Child allocations draw on one parent envelope: ₹60,000 + ₹30,000 + the ₹10,000 reserve make up the ₹1,00,000 authorization, so parent and child budgets are not additive. Creative assignments do not create another budget, and the unallocated reserve is not active delivery capacity.

This structure should represent decisions we actually need to make. We might separate returning visitors because their audience definition, exposure concerns, and evaluation differ from discovery. Creating twenty nearly identical line items merely to label reports fragments the evidence and adds places for configurations to drift.

The budgets also do not add vertically. The campaign does not receive ₹1,00,000, the IO another ₹1,00,000, and the children another ₹90,000. Those are overlapping controls on the same spending. In our model, a candidate purchase needs room under both its line item’s allocation and the shared IO envelope.

Parent settings also reach children in different ways. A field may be inherited continuously, copied when the child is created, or independently configurable. For a real platform, the relevant question is: what effective setting does this line item use now? The answer belongs in a configuration preview and audit record.

Here is our initial plan as a compact snapshot in our own platform-neutral format:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
campaign: urban-hiker-boots
configuration_version: 1
timezone: Asia/Kolkata
flight_days: 10
currency: INR
spend_basis: media_plus_dsp_and_verification
authorized_budget: 100000
unallocated_reserve: 10000
goal:
  event: deduplicated_purchase
  target_cpa: 500
  click_window_days: 7
  view_through: report_separately
shared_frequency:
  scope: recognized_id_across_both_line_items
  max_exposures: 3
  window_hours: 24
  window_type: rolling
line_items:
  - id: outdoor-discovery
    allocation: 60000
    pacing: even_reference
  - id: returning-visitors
    allocation: 30000
    pacing: even_reference

Saving this version makes later questions answerable. If the campaign’s behavior changes on day four, we can distinguish an edited setting from a changed market or a reporting delay.

Check whether the plan can plausibly deliver

A budget is permission to spend, not evidence that enough suitable inventory exists. Before launch, suppose a planning estimate identifies 10 million unique impression opportunities over the flight. This counts opportunities rather than duplicated bid requests for the same slot across supply paths.

Assume 25% survive the combined targeting, creative, privacy, and frequency restrictions; 30% of the resulting bids win at the planned price; and 90% of wins reach our billable delivery condition. Each is a conditional estimate for its stage, given survival through the stages before it.

The implied volume is 10,000,000 × 0.25 × 0.30 × 0.90 = 675,000 billable impressions. At an assumed ₹100 all-in CPM, that supports ₹67,500 of spend, below the ₹90,000 active allocation. Reaching ₹90,000 at that CPM requires 900,000 billable impressions, or about 13.33 million starting opportunities under the same assumed rates.

The estimate can move: changing prices can change win rates, and audience and frequency constraints evolve during the flight. Still, it exposes a plan that cannot meet its spending goal under its own assumptions. The team can revise the forecast, broaden approved inventory, change the schedule or strategy, or accept underspend. Releasing the ₹10,000 reserve alone does not create the missing opportunities.


3. Make the Campaign Ready Before Making It Active

A campaign can be configured correctly on paper and still have nothing it can deliver.

Urban Hiker uploads its 300 × 250 boot creative, assigns it to the line items, and supplies the destination and tracking configuration. Readiness includes the landing page, redirects, secure asset delivery, dimensions, declared advertiser, and the applicable platform and exchange reviews. Google’s creative-review documentation describes separate review states and notes that content or landing-page changes can restart review.

An approval is therefore specific evidence, not a universal permission slip. The 300 × 250 asset does not fit a 728 × 90 placement. A creative approved for one exchange may still be pending for another. A perfectly renderable advertisement can still be unsuitable for a particular publisher’s restrictions.

We can separate launch readiness into four questions:

QuestionFailure that an “active” label can conceal
May this entity spend?The parent IO is paused or its flight has not started
Is there a deliverable creative?No assigned asset is approved and compatible with the offered slot
Can the intended outcome be measured?The purchase event fires twice, has the wrong value, or never arrives
Can the chosen controls operate?The audience, identity, or budget state required by the configuration is unavailable

This distinction exists in actual APIs. DV360’s line-item resource states that an active line item cannot spend when its parent insertion order is inactive. Status is one condition in a larger eligibility decision.

For our launch, the team verifies a synthetic test purchase without counting it as a real sale, checks the creative in its intended rendering context, and previews the effective targeting and cost basis. The flight’s start and end boundaries are recorded with a timezone. “Starts on Monday” is insufficient when operators, servers, and reports use different clocks.

Activation then publishes a reviewed configuration to the buying system. A useful architecture distinction is between the configuration system, where people edit rules, and the auction-serving system, which must read those rules quickly. We want versioned, coherent snapshots: combining the new budget with yesterday’s targeting by accident creates a configuration nobody approved.

Propagation mechanisms differ across DSPs, but the design principle holds: a campaign change should have an observable effective version or time, plus a way to detect stale serving instances. A pause should stop new participation once applied; it cannot retroactively withdraw every bid already sent or cancel every later delivery event.


4. Turn Targeting into an Eligibility Decision

When Priya’s opportunity arrives, the DSP needs candidates that may buy it before asking which campaign predicts the highest purchase probability.

For Outdoor discovery, suppose we require supported web display, the intended geography, relevant outdoor context, allowed supply, and a compatible approved creative. We exclude recognized recent purchasers where the relevant data use is permitted. Returning visitors requires its own qualifying audience membership. A visit to Wanderlust Weekly alone does not establish that Priya previously visited Urban Hiker.

The logic matters. Within a set of allowed outdoor categories, matching trekking or camping may be enough. Across independent restrictions, we need allowed geography and allowed supply and compatible format. An exclusion takes precedence in our example. Adding more conditions with AND narrows eligible inventory; adding alternatives within an OR group can broaden it.

An audience list also has a time dimension. “Visited the boots page in the last seven days” requires a membership rule, an expiry rule, a permitted recognition mechanism, and a process for suppressing purchasers. A person who bought boots five minutes ago can remain eligible until that update reaches the decision system. The practical question is how much stale exposure the pipeline permits, not whether the campaign interface contains an exclusion checkbox.

The two tactics can overlap too. Priya can be reading outdoor content and belong to the permitted returning-visitor audience. Passing both line items does not create two distinct impressions. Our example resolves the overlap inside the DSP, selecting one candidate for this slot using its configured objective and priority rules, then charging only the selected line item’s budget if delivery becomes billable. Platforms can support other arrangements, including multiple offers. Whatever the arrangement, the choice must be defined, the shared frequency limit preserved, and the delivered impression charged once.

One candidate line item passes six numbered checks in turn: effective configuration, permitted targeting, creative compatibility, shared frequency, spending control, and valuation and auction fit, before a bid is returned. Each failed check exits to its own no-bid reason; a high predicted value cannot bypass an earlier restriction. Figure 2. Campaign rules come before the bid. These are logical dependencies, not a mandated software execution order. Implementations can combine or reorder checks while preserving their meaning.

For a concrete trace, assume this request includes a permitted recognition signal, even though the payload in our OpenRTB article omitted identifiers for brevity. Priya matches Outdoor discovery, its parent is active, and the 300 × 250 creative is approved for this supply path. Her recorded frequency is still below the limit, and the campaign has spending room. Only then does an economically useful bid become possible.

If the same request lacks information required to enforce a mandatory rule, unknown is not equivalent to a pass. Our strict frequency configuration declines opportunities for which it cannot establish the required identity-scoped counter. A separately authorized contextual tactic could use a different, explicitly defined exposure policy. Its exposure promise should match what its signals can support, rather than silently inheriting exact person-level capping.

This is also where targeting has privacy consequences. Contextual selection, audience membership, purchaser suppression, and frequency control have different data needs. The campaign should state which inputs each purpose requires and which recipients may receive them. Uploading an audience does not make every later use of that audience appropriate, and hashing an identifier does not make it anonymous.


5. Give Pacing a Budget It Can Actually Control

Budget allocation chooses where money may go. Pacing controls how quickly it is consumed. Bidding chooses the price for a particular opportunity. These decisions interact, yet each needs its own diagnosis.

Our initial active allocation is ₹90,000 across ten days. With a simple even reference, the combined spending target is ₹9,000 per day: ₹6,000 for Outdoor discovery and ₹3,000 for Returning visitors. The full ₹1,00,000 authorization would imply ₹10,000 per day only if the reserve were allocated too.

At the end of day four, suppose the campaign has spent ₹27,000 against a ₹36,000 reference. It is ₹9,000 behind. If we keep the ₹90,000 active allocation and there are six complete days left, the remaining reference becomes:

(₹90,000 − ₹27,000) ÷ 6 = ₹10,500 per day.

That arithmetic identifies the required average for catching up; whether enough eligible inventory exists at an acceptable price is a separate question. A forecasting system might distribute the remaining budget unevenly to reflect expected traffic, but it must still respect the same total allocation.

Cumulative spend chart showing a 90000 rupee active allocation over ten days. At day four, actual spend is 27000 against a 36000 reference. A revised reference rises from 27000 to 90000 over six remaining days, requiring 10500 per day; the 10000 reserve sits as a dotted band above the 90000 line, outside the active plan. Figure 3. Pacing follows the remaining budget. The dashed catch-up path is a revised reference, not a prediction of future spend. The ₹10,000 reserve remains unallocated.

Suppose Outdoor discovery has spent ₹20,000 and Returning visitors ₹7,000 at that point. Their remaining allocations are ₹40,000 and ₹23,000, totaling ₹63,000. We cannot send all ₹63,000 through Outdoor discovery without changing the child allocations, even though the combined arithmetic would still fit the parent envelope.

A pacer might reduce the fraction of eligible opportunities allowed to bid when spending is ahead, or coordinate with bid levels. If spending is behind, it can admit more eligible traffic. But once participation is fully open, a pacer cannot manufacture eligible requests or make a ₹70 floor affordable when the advertiser’s acceptable price is lower. Google’s pacing documentation illustrates the interaction of parent and child budgets and the possibility of overspend when bidding outruns accounting.

Account for money that has not finished arriving in the logs

Consider a ₹1,000 remaining budget slice. The ledger shows ₹920 consumed, but there is also ₹60 of conservatively estimated, unsettled exposure from recent bidding and delivery. Treating the remaining room as ₹80 permits more buying than the current evidence supports. Under our simplified reservation policy, new room is ₹1,000 − ₹920 − ₹60 = ₹20.

The ₹60 is a reservation against possible obligations, not a second invoice. As an outcome becomes known, the system releases a losing reservation or replaces it with the corresponding recorded cost. Counting both the reservation and settled event permanently would double-count spend. Expiring a reservation too early can instead reopen room while a billable event is still in flight.

This example motivates coordinated counters, reservations, or bounded local allocations across bidders, each of which can still slip under failure: delayed notices, concurrent decisions, and reconciliation policy affect the result. The important operational separation is between confirmed cost, outstanding exposure, and genuinely available room.

We also preserve the cost basis. This campaign paces against media plus the assumed DSP and verification charges. Counting only the media component would permit more all-in spending than intended. Tax, agency charges, and any other costs must be included or excluded explicitly in the real budget agreement.


6. Frequency Caps Limit Exposure, Not Spending Rate

Two campaigns can spend the same amount while producing very different experiences. One reaches many people once; another repeatedly reaches a smaller group. Pacing alone cannot tell them apart.

Our frequency policy allows three recorded exposures per recognized ID in a rolling 24-hour window across both line items. Suppose Priya’s recognized ID has two Outdoor discovery exposures and one Returning visitors exposure in that window. The shared count is three. Moving the next candidate to the other line item does not reset it.

Counter for the same recognized IDRecorded exposuresWhat the next candidate sees
Outdoor discovery2Local history only
Returning visitors1Local history only
Shared parent scope3Shared limit reached

A rolling window and a calendar-day window also differ. With a rolling rule, each exposure ages out individually as it leaves the preceding 24 hours. The chosen rule and timezone must be clear before someone interprets a delivery report as evidence of a violation.

Suppose the three exposures occurred at 23:50, 23:55, and 23:58 in Asia/Kolkata. At 00:10 the next day, a calendar-day counter reads zero, while a rolling 24-hour counter still reads three. The first of those exposures leaves the rolling window only when it becomes 24 hours old, at 23:50 that evening. Midnight itself frees no room under the rolling rule.

Two timelines compare a cap of three exposures for the same recognized ID at 00:10. Ads seen at 23:50, 23:55, and 23:58 fall outside the new calendar day, leaving its counter at zero, but remain within the preceding 24 hours, keeping the rolling counter at three. Figure 4. Midnight resets one counter, not both. The timeline is zoomed around midnight; the rolling window starts at 00:10 on the previous day, outside the view. The calendar-day cap permits another exposure, subject to the campaign’s other checks; the rolling cap blocks it. A calendar-day cap resets at its day boundary; a rolling cap releases each exposure as it ages out.

Real products can apply caps at several levels. Google’s frequency-cap documentation describes line-item, IO, and campaign scopes and the use of available identifiers and modeling. Our example uses a recognized-ID counter so the arithmetic is inspectable; that ID need not correspond to one human across every browser and device.

Concurrency appears here too. With two recorded exposures and one remaining slot under the cap, two simultaneous bidders must not both assume they own that slot. A provisional exposure reservation can reduce this race, but the release rules must match the delivery lifecycle. A bid or an exchange win is not itself proof of the exposure event we chose to count.

Frequency state is also part of the data ledger. To answer “how often have we reached this ID?” the system maintains some linkable history. For a rolling counter, we can often retain the limited state needed for that window rather than an indefinite browsing log. Audience membership and purchase suppression may require different retention periods. A single campaign end date should not become an excuse to keep all three forever.


7. Translate the Objective into a Bid, Carefully

Now suppose Priya’s opportunity passes the eligibility and spending checks. How does the ₹500 target CPA connect to the ₹85 CPM bid from our previous articles?

Take a simplified valuation calculation. Assume the model estimates 0.0002 counted purchases per delivered impression, or a 0.02% probability, under our chosen attribution definition. Treat the estimated probability as applicable to the inventory actually bought, and assume one billable impression corresponds to that delivered impression.

At a ₹500 target cost per counted purchase, the corresponding expected-cost allowance is:

0.0002 × ₹500 = ₹0.10 per impression = ₹100 CPM all-in.

To connect to our ledger example, assume fixed buyer-side charges of ₹15 CPM in this calculation: ₹10 for the DSP and ₹5 for verification. That leaves ₹85 CPM for media. Different fee arrangements require different arithmetic. Our ML article runs the same units-to-CPM calculation with a different conversion probability and value; the shared lesson is the unit discipline.

The result is a valuation ceiling. In a first-price auction, bidding the entire ceiling need not be the best way to trade off price and win probability. The bidder can choose a lower offer based on its market model and strategy. Our bid-optimization article explores that decision.

Nor does the calculation guarantee a realized ₹500 CPA. Prediction error, selection effects, small samples, incomplete attribution, and different delivery outcomes can all break the simple expectation. The conversion probability must refer to the same event and denominator as the target. Substituting a click probability into this purchase calculation would value the wrong outcome.

Finally, a target and a hard limit are different controls. A campaign can prioritize achieving its performance target while leaving budget unspent, or prioritize spending the allocation with a looser performance aim. DV360 exposes versions of this choice in its automated bid strategies. The team, not the word “optimize”, has to decide which compromise is acceptable.


8. Diagnose Delivery Before Changing the Strategy

Launch is the start of observation, not the end of configuration work. The first review should establish whether the intended campaign is actually operating.

If spend is low, we can inspect the decision path in order. Are requests arriving? Do they match the intended inventory? Are the audience and exposure controls excluding them? Are creatives usable on those supply paths? Is there budget room? Are eligible bids losing on price? Do winners turn into recorded delivery?

These questions point to different actions:

SymptomEvidence to inspectWhy a larger bid may not help
Almost no matching opportunitiesEffective targeting and available supplyPrice cannot expand an impossible intersection of rules
Matching requests but no candidatesStatus, creative approvals, audience and frequency checksA bid cannot bypass a failed eligibility condition
Eligible bids frequently loseFloors, auction outcomes, timeout rate, price strategySome losses are caused by lateness rather than price: the ₹92 bid arriving at 135 ms misses its deadline
Wins without expected deliveryPublisher selection, rendering and event evidenceBuying more winners may repeat the same delivery fault
Spend arrives but purchases do notEvent health, attribution settings and cohort ageMore buying cannot repair broken measurement

Each rate needs a stated denominator. “We win 10%” could mean 10% of all incoming opportunities or 10% of admitted bids. The former includes decisions not to bid; the latter describes a narrower auction outcome. The metric we optimize and the dashboard we read should share one denominator.

For our campaign, a useful decision record joins the configuration version, line item, request and slot, selected creative, exclusion or no-bid reason, price, and later outcomes. Sensitive request fields need not be copied into every operational log to preserve those relationships. Aggregated reason counts can answer many delivery questions without retaining each person’s page context.

Suppose an operator fixes a landing-page problem on day two and delivery resumes. We record the change and its effective time. Comparing day one with day three as if the campaign ran under identical conditions would confuse a repair with an improvement in audience quality.


9. Optimize with Evidence That Has Had Time to Arrive

Once delivery works, we can ask whether the allocations are useful. The tempting move is to rank line items by today’s CPA and transfer money to the lowest number. That can be wrong even before we consider causality.

Take two fixed cohorts of bought impressions, each costing ₹10,000 all-in. By a cohort, we mean a defined set of ad interactions whose subsequent outcomes we follow, so its costs and conversions belong to the same advertising.

We inspect each cohort at the same ages after its delivery period closes:

CohortPurchases known after 24 hoursEarly CPAPurchases known after seven daysLater CPA
Outdoor discovery10₹1,00025₹400
Returning visitors20₹50022About ₹455

At 24 hours, Returning visitors appears twice as efficient. At seven days, Outdoor discovery has the lower CPA. Costs and attribution rules stayed fixed in this example; additional qualifying purchases became known. The reversal shows the danger; it says nothing about whether discovery campaigns generally outperform returning-visitor campaigns.

Two equal-cost cohorts are compared at 24 hours and seven days. Outdoor discovery grows from 10 to 25 known purchases, changing CPA from 1000 to 400 rupees; Returning visitors grows from 20 to 22, changing CPA from 500 to about 455 rupees. Dashed lines connect the two observed snapshots, and the apparent ranking reverses as outcomes arrive. Figure 5. The early CPA ranking can reverse. Equal cost and equal observation age make the comparison interpretable. Only the two snapshots are observed; the dashed lines just connect them. Seven days is a chosen observation point, not a universal guarantee that attribution and reporting are final.

There are two sources of delay: the customer can purchase later, and the measurement system can process the event later. Google’s reporting freshness documentation confirms that different metrics have different processing schedules and that historical reporting can be updated. Our example assumes the displayed conversions have been processed by each snapshot.

An operator at 24 hours cannot see the seven-day result. The practical response is to compare similarly aged cohorts, examine an established conversion-lag pattern where available, and express uncertainty. A model that adjusts for delay produces an estimate, not an observed final count. Small samples remain noisy even after the chosen window has elapsed.

Retargeting introduces another issue: returning visitors were already interested. A low attributed CPA does not tell us how many would have purchased without another ad. Budget decisions should therefore combine operational performance with incrementality evidence where available, rather than rewarding the tactic best positioned to claim existing demand.

Even a stable average CPA says little about the next ₹10,000. Expanding a tactic may reach less responsive inventory or repeatedly reach the same audience. We care about the additional outcome from additional spend, under the same exposure and quality constraints.

Price the next allocation, not just the historical average

Continue the seven-day example: Returning visitors has spent ₹10,000 for 22 attributed purchases, an average CPA of about ₹455. Suppose a planning model estimates that a further ₹5,000 would add five attributed purchases. The marginal attributed CPA of that proposed block is ₹5,000 ÷ 5 = ₹1,000. The combined average would become ₹15,000 ÷ 27, or about ₹556.

Suppose the same additional ₹5,000 assigned to Outdoor discovery is estimated to add ten attributed purchases. Its marginal attributed CPA is ₹500, and its combined average becomes ₹15,000 ÷ 35, or about ₹429. Under these assumptions, the discovery allocation is more attractive for the stated target even though the returning-visitor tactic’s earlier average looked acceptable.

Both forecasts count attributed purchases, so neither measures incrementality: “five more attributed purchases” could include sales that would have happened without the extra advertising.

If the team releases ₹5,000 of reserve to test the discovery proposal, configuration version 2 has allocations of ₹65,000 and ₹30,000, with ₹5,000 reserve. The ₹1,00,000 authorization stays fixed. We also revise the remaining pacing reference; changing the child budget without updating its spending schedule leaves half the decision unspecified.

For Urban Hiker, a reasonable next step is a bounded allocation change with a recorded hypothesis, not an automatic transfer of the entire reserve. The change record names the amount, source and destination, effective configuration version, evaluation window, and rollback condition. We preserve the parent budget and inspect later cohorts at comparable ages. If causal confidence matters, the change needs an appropriate experiment; a before-and-after dashboard alone cannot supply it.


10. End Delivery Without Losing the Accounting Trail

At the flight boundary, the campaign stops creating new buying decisions, but its story continues. Previously selected ads may still produce events, attributed purchases may arrive later, and quality or billing adjustments may change the figures.

We distinguish delivery ended, measurement sufficiently mature for a stated report, and financial reconciliation completed as separate milestones. A report issued immediately at the end of day ten should state its data cutoff and attribution settings, rather than presenting incomplete outcomes as final.

The money ledger now compares the authorized budget, allocated budget, recorded spend, released reservations, adjustments, and unused balance. The initial ₹10,000 reserve remains unused unless an allocation change released it. The two-ledgers article follows the later invoice and publisher-payment process.

The data ledger needs closure too. Audience memberships expire according to their rules; unnecessary detailed logs should reach their retention limits; permissions and downstream use remain governed by their original purposes. Pausing a line item does not recall request data already shared, erase audience copies elsewhere, or automatically delete records needed for reconciliation. Those require their own controls.

We can now explain the campaign as a set of connected decisions. The brief defines the outcome. The hierarchy allocates authority and money. Reviews and targeting define eligibility. Pacing and frequency govern when more participation is acceptable. Bidding prices the remaining opportunities. Measurement supports the next allocation decision, with delay and uncertainty still attached.

In the next article, we investigate the seller’s side of eligibility. We connect publisher authorizations, seller identities, and the declared auction path, then ask which eligible routes offer useful inventory for the campaign.


Resources

Enjoyed this article? Never miss out on future posts - follow me.
© Sayan Biswas. All rights reserved.