Traffic Desk: say "delivered" when a banner has served what was bought
Marty asked why banners still show "running" with 0 left. They genuinely are running — banners on this network have no cap. The counter runs past the purchase and the ad keeps rotating until its 365-day expiry, so a fully-delivered banner is still serving. #2707 is at ~6,129 on a 2,500 buy. "running / LEFT 0" reads as broken though, so the row now says "delivered — still serving as a bonus, Stop to end it", and the footnote explains it once: the extra costs nothing further against their allowance, and Stop actually ends it on the network. Worth flagging what this does NOT do: nothing auto-stops a banner at its purchased amount. Members get free over-delivery, which is fine on our own inventory, but it means every banner ever launched keeps rotating for a year unless someone stops it. If that becomes noisy, the fix is a scheduled job that deactivates ads once served >= bought — deliberately not built now, since it needs a cron and the over-delivery currently costs nothing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -95,7 +95,7 @@
|
||||
<div class="table-wrap"><table><thead><tr><th>Size</th><th>Sends to</th><th>Bought</th><th>Served</th><th>Left</th><th>Clicks</th><th>Status</th><th></th></tr></thead><tbody id="tfLive"></tbody></table></div>
|
||||
</div>
|
||||
|
||||
<p class="tf-note"><strong style="color:var(--text)">What this is, honestly:</strong> display advertising is <strong style="color:var(--text)">awareness volume</strong> — it puts your link in front of people browsing the network. It is not a lead list, and click rates on display inventory are low by nature. The conversations you have with people you know are still what actually builds a team; this runs quietly in the background while you do that. <br><br>All banners use approved team creative, so every ad on the network stays on-brand. Independent team resource · No income is guaranteed · Cryptocurrency involves risk.</p>
|
||||
<p class="tf-note"><strong style="color:var(--text)">A note on "delivered":</strong> banner placements on this network have no hard stop — once a banner has served the impressions you bought it keeps rotating until it expires, at no further cost to your allowance. That extra is a bonus, not something you paid for. Hit Stop whenever you want it to end. <br><br><strong style="color:var(--text)">What this is, honestly:</strong> display advertising is <strong style="color:var(--text)">awareness volume</strong> — it puts your link in front of people browsing the network. It is not a lead list, and click rates on display inventory are low by nature. The conversations you have with people you know are still what actually builds a team; this runs quietly in the background while you do that. <br><br>All banners use approved team creative, so every ad on the network stays on-brand. Independent team resource · No income is guaranteed · Cryptocurrency involves risk.</p>
|
||||
</main>
|
||||
<script src="/suite-traffic.js"></script>
|
||||
<script src="/tool-video.js" data-video="/tv/suite-traffic-desk.mp4" data-secs="· 74 sec" data-title="Watch the Traffic Desk walkthrough" data-key="traffic" defer></script>
|
||||
|
||||
+11
-1
@@ -190,9 +190,19 @@
|
||||
if (rawRem == null) { servedShown = Number(served) || 0; left = null; }
|
||||
else if (c.kind === 'text') { left = Math.max(0, Math.min(rawRem, bought)); servedShown = bought - left; }
|
||||
else { servedShown = Math.max(0, Math.min(rawRem, bought)); left = bought - servedShown; }
|
||||
// "running" with 0 left reads as broken. It is not: banners have no cap on
|
||||
// this network — the counter runs past the purchase and the ad keeps
|
||||
// serving until its expiry, so a fully-delivered banner is genuinely
|
||||
// still going. Say that plainly, and keep Stop available so a member can
|
||||
// actually end it rather than wonder why it never finishes.
|
||||
var delivered = servedShown >= bought && bought > 0;
|
||||
var statusCell = c.stopped
|
||||
? 'stopped <span style="opacity:.7">(' + Number(c.refunded || 0).toLocaleString() + ' returned)</span>'
|
||||
: (l.live ? '<span style="color:var(--teal)">running</span>' : 'finished');
|
||||
: !l.live ? 'finished'
|
||||
: delivered
|
||||
? '<span style="color:var(--teal)">delivered</span>' +
|
||||
'<br><span style="font-size:11.5px;color:var(--muted)">still serving as a bonus — Stop to end it</span>'
|
||||
: '<span style="color:var(--teal)">running</span>';
|
||||
var label = c.kind === 'text'
|
||||
? '<b>Text</b><br><span style="font-size:12px">' + esc(c.subject || '') + '</span>'
|
||||
: '<b>' + c.size + '</b>';
|
||||
|
||||
Reference in New Issue
Block a user