Digital Marketing Portfolio
Senior Digital Marketing Specialist · Paid Media Lead
I run paid media that has to justify every đồng it spends. From a ₫3M test to a ₫500M/month always-on account, the discipline is the same: name the result, buy it cheaper each month, and prove it in the numbers.
01 · Range
The most common objection to a paid-media hire is that they only know one size of account. I have run both ends of the range on the same playbook. Drag the gauge to see what changes and what does not.
02 · Method
Account size changes the numbers, not the process. This is the same operating model whether the budget is ₫3M or ₫500M.
Offer, margin, capacity and the real definition of a lead are locked before a single đồng goes out. Conversion tracking and conversion actions are verified first, because an untracked account cannot be optimised.
One campaign per objective, and ad sets split by real demand: district by district for a clinic, local versus overseas Vietnamese for a dental brand, messaging versus reach for a spa. The account structure mirrors how customers actually behave.
Three to ten variants per ad set at launch, killed on cost per result at day three to five. Most cost-per-result gaps between two accounts in the same category are creative gaps, not targeting gaps.
Budget moves toward the winning ad set instead of a full-account restart. Every month closes with a one-page report: spend, result, cost per result, what changed, what happens next.
A campaign is scaled after cost per result holds for two consecutive weeks. That single rule is why the same operator can run a ₫3M test and a ₫500M month without either one becoming a loss.
03 · Work
Every figure below is reproduced from the client's own ad account: the Meta Ads Manager report or the Google Ads export shown next to it, and every account carries the brand page so you can see the channel itself. The last block is the exception, and it says so on the page: two large accounts I ran where I no longer hold the export.
Case 01 · Meta Ads
A Mekong specialty producer selling a product most buyers have never heard of. Demand exists, but nobody types the product name into a search bar, so the account had to create the conversation rather than harvest it.
Split the account into two jobs: conversion campaigns that drove messaging conversations from people already curious, and low-CPM engagement campaigns that bought cheap reach to make the product familiar. Creative rotated around product close-ups, origin story and the texture shot that performs best for food.
| Result recorded in the ad account | Figure |
|---|---|
| Messaging conversations started | 4,349 |
| Best cost per messaging conversation | ₫5,376 |
| Post engagements | 301,983 |
| Best cost per post engagement | ₫14 |
| Average CPC / CTR | ₫3,691 · 3.54% |
Case 02 · Meta Ads
A saturated local category where every competitor buys the same audiences. The account needed a creative-led wedge, and a messaging funnel cheap enough to survive rising competition on CPM.
Built a messaging track for treatment enquiries alongside an Engage Post track for content reach, then moved to video-first creative because static posts had stopped clearing the CTR bar. Every campaign is named by month, which kept a year of iterations auditable.
| Result recorded in the ad account | Figure |
|---|---|
| Best cost per messaging conversation | ₫26,553 |
| Cost per conversation, full range across the account | ₫26,553 – ₫72,557 |
| Post engagements, best campaign | 129,679 at ₫27 each |
| Average CTR / CPC | 0.82% · ₫6,969 |
A single Reel drew 64,572 views from 58,121 viewers with 660 engagement. Audience retention shows the drop clustering at the seven-second mark, which is exactly where the next edit cuts.
Case 03 · Meta Ads
A high-ticket interior studio with a very long sales cycle. Lead volume is the wrong unit of measurement on a multi-billion-đồng design fee, so the objective was familiarity and portfolio reach long before the enquiry ever happens.
Ran the account as a portfolio distribution engine. Each campaign promoted a finished project, optimised for engagement and aimed at the design-interested audience. Because the creatives were genuinely good project photography, engagement cost collapsed, which is what makes this the cheapest reach in the portfolio.
| Result recorded in the ad account | Figure |
|---|---|
| Total spend | ₫23,421,891 |
| Best cost per post engagement | ₫86 |
| Top campaign by engagement | 36,227 at ₫110 each |
| Accounts reached | 751,321 |
Project-promotion posts run as paid campaigns, with multi-image carousels of finished interiors outperforming single images on both CTR and engagement cost.
Case 04 · Meta Ads
A small independent homestay with almost no brand search, competing against hundreds of Đà Lạt listings where bookings arrive by message and demand is brutally seasonal.
A deliberately two-mode account: messaging campaigns for room enquiries and dates, plus engagement and ThruPlay campaigns at very low cost to keep the property in front of the Đà Lạt travel audience between booking peaks. Offer-led creative with the address and location advantage written straight into the post.
| Result recorded in the ad account | Figure |
|---|---|
| Best cost per messaging conversation | ₫36,212 |
| Post engagements, best campaign | 1,019 at ₫297 each |
| Accounts reached | 54,935 |
| Average CTR / CPC / CPM | 4.38% · ₫10,557 · ₫97,831 |
Case 05 · Google Ads
A dental brand whose treatments span low-ticket and high-ticket, sold across two districts plus an overseas-Vietnamese segment. A ₫680,000 implant conversion and a ₫14,961 map action cannot share one budget line, so every treatment-to-location combination needed its own economics.
Built the account by treatment, location and intent, then layered brand-defence and competitor campaigns on top. Added a domestic map and Performance Max layer for walk-in treatments, a separate overseas-Vietnamese track for Australia and Canada, and a Demand Gen campaign to reach people before they search.
| Result recorded in the export | Figure |
|---|---|
| Best CTR · brand campaign | 19.42% |
| Best CTR · branding, absolute top impression | 17.79% |
| Highest top-of-page impression share | 94.74% |
| Overseas-Vietnamese segment (Australia, Canada) | 2 campaigns · CTR 12.5–13.6% |
Also on my record · no export to publish
Space T and Nha khoa Flora are two of the largest accounts I have worked on, and I ran Meta Ads and Google Ads on both. I have no report I can publish for either one — I no longer hold access to those ad accounts. So I am not going to rebuild a spend figure from memory or dress an estimate up as a report. What I can stand behind is the channel I ran and the page you can open yourself.
A Vietnamese interior platform that connects contractors with customers, and the brand behind the strongest organic build in my record. On the paid side I ran both channels on the account: Meta Ads and Google Ads.
Facebook · spacetvnA dental clinic in the same medical category as Nha khoa Nhân Tâm above, managed as its own account. Both channels ran here too: Meta Ads and Google Ads. A clinic never behaves like a retail account, and this was one of the accounts that taught me that.
Facebook · Nha khoa Flora04 · Documented data
Totals across the five accounts shown above, taken from the platform reports. Switch the view to separate the two platforms.
05 · Beyond the ad account
Paid media is not only campaign management. The reporting and content cadence has to survive the weeks when the accounts are heavy, so I build the plumbing myself.
Monthly client reports are assembled from the same source data every time, so a report goes out on the first working day of the month whether or not I have to chase it.
A daily agent reads and summarises industry and platform news, and a second pipeline scans social platforms, drafts posts and schedules them for publishing. The point is not novelty, it is that the content cadence keeps moving in the background.
Naming conventions, launch checklists, kill rules and scaling rules are documented, so a second operator can pick up an account without reverse-engineering it.
| Area | Tools |
|---|---|
| Paid media | Meta Ads Manager, Google Ads (Search, Performance Max, Demand Gen, YouTube), TikTok Ads |
| Analytics & tracking | Google Analytics 4, Google Tag Manager, Meta Pixel and Conversions API, Meta Business Suite Insights, Looker Studio |
| Creative production | Canva, Figma, CapCut, Photoshop. I build the ad creative, not only the brief |
| Workflow | Custom AI agents for news digests, social listening, content drafting and scheduled publishing |
06 · Contact
Happy to walk through any account above in detail, including the parts the numbers do not show: what failed first, what was cut, and why.