H

Harbor Lane

Ad & Spend Desk

Desk6
Creative3
Budgets
Audiences
Changes6
Attribution
Products
Report
Sources

Both platforms are connected for writing as well as reading. Nothing here writes anything until somebody approves it in a sentence.

Sample data
Omni*module 09 · demoSales Cockpit demo
H

Harbor Lane · Spend

Sample data

Omni*
  • Meta Ads
  • Google Ads
  • Marketplace advertising
₺1,729 of ₺6,850 todayAhead of pace
6 waiting on youread 10:10

Sources

Read at 10:10 · the period does not apply here

Two platforms, one order book, and a short list of things this module refuses to tell you. The refusals are the useful part: an advertising screen is the easiest screen in a company to make look good.

What this desk will and will not say

Seven sentences the rest of the module is built on. Each of them gives something up, which is the only way to tell they are meant.

Order store
  1. 01

    Revenue is counted from our own orders

    Revenue is counted from the shop's own orders, everywhere in this module, including on the screen you keep open during a campaign. The platform's figure is shown beside it and never instead of it, and the two are never averaged. Meta Ads reports 62 per cent more conversions than the order book holds and Google Ads about 17 per cent. Neither of them is lying and neither of them is our revenue.

  2. 02

    Nothing spends without a sentence

    Omni drafts the change, shows the measurement behind it and stops. Nothing is sent to Meta or Google until a person approves it in writing, and the sentence they write is kept with it. Both platforms are connected for writing — pausing a campaign, moving a budget and changing a bid are all endpoints, and that is exactly why this rule is written down rather than assumed.

  3. 03

    Every draft traces back to a number

    The drafts waiting in the change queue are not written by hand. The pacing check produces the ones about budgets and the fatigue check produces the ones about creative, and each carries the measurement it came from. A draft nobody can trace back to a number is a draft nobody should approve.

  4. 04

    A creative is measured against its own first week

    Not against another creative and not against an account average. A frame that opened at two per cent and now sits at one and a half has lost a quarter of itself whether the account average is one or three. It has to have run 14 days before the comparison means anything, and a fall of 25 per cent — or a seven-day frequency of 4 — is where the desk stops calling it a wobble.

  5. 05

    Some things cannot be measured, and are said so

    A search ad does not wear out: the person reading it typed the question a second ago and has never seen it before. A Performance Max asset group is eleven assets and one row of reporting, so a decline inside it could be the pictures, the headlines, the feed or the auction, and nothing in the report separates them. Both say so rather than reporting a tidy nought per cent.

  6. 06

    Marketplace advertising is not counted

    Trendyol and Hepsiburada both sell advertising inside the marketplace and neither exposes it in the seller API. The panels export a spreadsheet, and a spreadsheet somebody remembers to download is not a connection. Until that changes the money is real, the figure is missing, and the card does not claim it.

  7. 07

    Access is weeks, not minutes

    Meta Ads will not hand over an account until the ads_management permission has been through App Review and the business has been verified. Google Ads wants a developer token applied for and basic access approved. Every demo of an advertising tool implies you connect an account over coffee; the first month of this one is spent waiting on two strangers, and it is better to know that now.

The first one is the expensive one. Both platforms will hand over a larger figure than the order book holds, and every screen in this module prints the smaller number because it is the one that can be checked against a bank statement.

The plumbing

5 connected, 2 short of it

What it runs on

Two advertising platforms with write access, one order book that settles every argument, and three places the answer goes next.

Ad platforms
ConnectionWhat it does
Meta AdsConnected · read and writeCampaign, ad set and ad: spend, impressions, clicks and what the platform says it producedCampaign, ad set and ad, read hourly. Pausing, budgets and bids are all endpoints, which is why nothing here moves without a written approval.Getting access: Needs ads_management, which needs App Review and business verification. Weeks, not minutes.
Google AdsConnected · read and writeCampaign, ad group and ad: spend, impressions, clicks and what the platform says it producedSearch and Performance Max, read hourly. Search terms come in with the report; the asset groups do not break out by asset.Getting access: Needs a developer token and basic access approval. Also weeks.
Marketplace advertisingNot connected · no endpointAdvertising bought inside Trendyol and HepsiburadaTrendyol and Hepsiburada both sell advertising inside the marketplace and neither exposes it in the seller API. The panels export a spreadsheet. Until that changes this module does not count that money, and the card does not claim it.Getting access: Under investigation. A spreadsheet import is the fallback and it is not the same thing as a connection.
The shop's own order bookConnected · read onlyEvery revenue, order and cost-per-order figure in this moduleOrders carry the click that brought them, so the desk can find the ones that came from advertising without asking a platform how many it thinks there were. This is the number, everywhere, on every page.
Sales CockpitConnected · writes the cost lineWhere the spend goes once it is countedMargin is worked out in the Cockpit, and it cannot be worked out without knowing what the advertising cost. This module hands over one number a day per channel and does no profit arithmetic of its own.
Content StudioConnected · sends a briefWhere a tired creative goes nextWhen the fatigue check calls a frame tired the desk writes the brief and the studio cuts the replacement. The desk does not make pictures and the studio does not measure money; the sentence that crosses between them is the measurement.
Where a warning goesLimited · e-mail and Slack todayA budget pacing out, a campaign that stopped earningE-mail and Slack are connected. A warning to a phone over WhatsApp needs a message template approved in advance for each shape of message, so the first one waits on that approval rather than on the budget.

The two rows that matter are the two that are not green. Marketplace advertising is money going out of this company every week with no endpoint to read it from, and a warning that cannot reach a phone is a warning that waits until somebody opens a laptop.

What it does not measure

Six figures an advertising screen is expected to produce and this one does not. Stated once, here, so no page quietly invents one of them later.

Computed
Not claimedWhy not
Which orders would have happened anywayThe brand search campaign returns eleven lira for one and most of those people were going to find the shop regardless. The desk reports the number and says this sentence next to it; it does not pretend the number answers the question.
IncrementalityThe only honest way to know what advertising added is to hold a group back and compare. Nobody here is running a holdout test, so nothing on these pages is called incremental.
Whether the creative is any goodThe fatigue check measures what happened to a frame over time. It has no opinion about the frame. A picture that never worked and a picture that stopped working look different in the arithmetic and identical to a machine asked whether it is nice.
Anything inside a Performance Max asset groupEleven assets, one row. Google will not say which of them was shown, so neither will this.
Marketplace advertising spendReal money, no endpoint. Counting it from a spreadsheet somebody exports when they remember would make every total on every page quietly wrong on the days they forget.
What a customer is worth over a yearCost per order is in here because an order is a fact. Lifetime value is a forecast about people who have not bought anything yet, and it belongs to the department that owns the customer rather than to the one that owns the spend.

Four of these six could be produced by dividing two numbers this module already has. They are missing because dividing them would answer a different question from the one the label promises, and a plausible answer to the wrong question is the most expensive thing on an advertising screen.

Sample data throughout. Nothing on these pages was read from Meta, Google or anybody's order book, and no budget was moved to draw them.

DeskCreativeBudgetsChanges