Skip to content
HN · hnghia.space

RECORD01/04

Joytime, Vietnam

Joytime

Sole owner of a USD 20,000 paid media budget across four platforms, where most of the work was proving which half of the spend could not be defended.

Role
Paid media, freelance
Engagement
Jan to Jun 2026
Channels
Meta Ads, TikTok Ads, Google Ads, Apple Search Ads

READOUT02/04

Measured outcomes

USD 20,000

paid media managed

Across four platforms and six markets in six months.


 MEASUREDAd platform billingJan to Jun 2026

57.8%

of social budget flagged

Sitting in objectives that could not be defended on performance.


 FLAGGEDMeta and TikTok AdsJan to Jun 2026

63×

gap in cost per site visit

Between the cheapest and the most expensive objective in the same account.


 FLAGGEDMeta and TikTok AdsJan to Jun 2026

924,874

conversions that were not real

A misfiring TikTok event reported them at VND 109 to 203 each, against VND 25,046 for the event that was.


 FLAGGEDTikTok Ads ManagerJan to Jun 2026

18×

lower cost per site visit

After the March rebuild of the account structure.


 REDUCEDMeta and TikTok AdsMar 2026

4,700

app installs delivered

At USD 0.80 each, across six markets.


 GAINEDAd platform reportingJan to Jun 2026

14×

the going rate per install

What two campaigns were paying before I cut them.


 FLAGGEDAd platform reportingJan to Jun 2026

GRAPHICS03/04

Data graphics

Cost per site visitBefore and after the March rebuild. The scale is relative, not currency.
BeforeAfter18× lower

 REDUCEDMeta and TikTok AdsJan to Jun 2026

Social budget under auditThe share sitting in objectives that could not be defended on performance.
57.8%Could not be defendedThe rest

 FLAGGEDMeta and TikTok AdsJan to Jun 2026

ACCOUNT04/04

The situation

Joytime brought me in as the only person on paid media. Six months, roughly USD 20,000, four platforms, six markets, and no one else to hand a question to.

The account was already running when I arrived and it was reporting well. That was the problem. Objectives had been chosen for the metrics they were good at producing, so the dashboard looked healthy while the money underneath it did very little.

What I did

  • Audited every active objective against a single question: what does one site visit cost here, and can I defend that number to someone paying for it.
  • Found 57.8% of the social budget in objectives that failed that question, and a 63× spread in cost per site visit inside the same account.
  • Traced a TikTok conversion event reporting 924,874 conversions at VND 109 to 203 each, against VND 25,046 for the event that mattered. The cheap one was counting something that was not a conversion.
  • Rebuilt the account structure in March around the objectives that survived the audit, and rewired the GA4 events and UTMs so the next audit would take an afternoon.

What changed

Cost per site visit fell 18× after the rebuild. Nothing clever happened. Spend that was buying impressions and calling them outcomes got removed, and the average stopped carrying it.

The account delivered 4,700 app installs at USD 0.80 each over the six months. Two campaigns were paying fourteen times that rate for the same outcome.

The conversion event was the more useful catch. Left alone, it would have kept justifying its own budget forever, because a metric reporting 924,874 of anything at VND 109 each always wins an argument against one reporting fewer at VND 25,046.

What I would do differently

I audited the objectives before I audited the events, and it should have been the other way round. A broken event does not just waste its own budget, it corrupts every comparison downstream of it, including the audit I was in the middle of running.

I can show what a site visit cost and how much of the budget could not justify itself. I cannot show what any of it earned, because there was no revenue tracking in place while I was there.

← All work