Powered by

Buildathon
Ads Intelligence

Date & TimeDate & Time

05.09.2026 · 9:00 – 14:00

LocationLocation

FireGroup Office

GemCommerce · Ads Intelligence1

Agenda

Khởi độngKick-off09:00 – 09:45
Build Session 109:45 – 11:25
Nghỉ trưaLunch11:25 – 12:05
Build Session 212:05 – 13:15
FireGroup13:15 – 14:00
09:0010:0011:0012:0013:0014:00
  • 09:00Mở đầuWelcome
  • 09:10Giới thiệu chủ đề và demoTopic intro and demo
  • 09:35Chia nhómSplit into groups
  • 09:45Build Session 1
  • 11:10Checkpoint & troubleshootingCheckpoint and troubleshooting
  • 11:25Nghỉ trưaLunch break
  • 12:05Build Session 2
  • 13:00Chia sẻ kết quảShow what you built
  • 13:15FireGroup Sharing Session
  • 13:55Tổng kếtWrap-up
GemCommerce · Ads Intelligence2

Người hướng dẫnYour hosts

Chris Koh GemCommerce

Chris Koh

Founder of GemPages · GemBoss

Huy Tran FIREGROUP

Huy Tran

Head of Product · FireGroup

GemCommerce · Ads Intelligence3
Chris Koh trên sân khấu ShopX, Hà Nội
CHẶNG ĐÃ QUA VÀ DỰ ÁN ĐANG TRIỂN KHAITHE PERSON · AND WHAT COMES NEXT

Chris Koh

Founder & Developer · GemCommerce

10năm bootstrap GemCommerceyears bootstrapping GemCommerce
100+nhân sự ở Việt Nam và Singaporepeople across Vietnam and Singapore
100.000+nhà bán đang dùng GemPagesbrands running on GemPages
GemCommerce · Ads Intelligence4
SẢN PHẨM CHÍNH CỦA GEMCOMMERCETHE PRODUCT THAT BUILT THE COMPANY

gempages.netPage builder tối ưu chuyển đổi số 1 cho ShopifyThe conversion-focused page builder for Shopify

Dựng, tùy biến và test cả funnel bán hàng ngay trên store Shopify đang chạy — không cần code.Build, customize and test entire sales funnels on the Shopify store you already run — no coding.

Page builder theo hướng CROCRO-focused page builderGiao diện dành cho người bán, các element được thiết kế sẵn theo hướng tăng chuyển đổi.A seller-first editor whose elements come pre-tuned for conversion.
Sales Funnel BuilderSales funnel builderAdvertorial, listicle, landing page cho ads và trang upsell sau mua.Advertorials, listicles, landing pages for ads and post-purchase upsells.
GemAI · Image to LayoutĐưa một ảnh hoặc một URL tham chiếu, nhận lại layout sửa được.Hand it a reference image or URL, get back an editable layout.
A/B testing · GemXChạy hai phiên bản trên cùng một lượng traffic thật, giữ lại phiên bản có kết quả tốt hơn.Run two versions against real traffic and keep the one that wins.
100.000+nhà bán đang dùngbrands running on it
400+template cho mọi loại trangtemplates for every page type
#1page builder trên Shopifypage builder on Shopify
Trang sản phẩm skincare dựng bằng GemPagesLanding page chiến dịch dựng bằng GemPagesTrang tính năng sản phẩm dựng bằng GemPagesTrang danh mục dựng bằng GemPagesTrang bán hàng theo mùa dựng bằng GemPagesTrang thương hiệu dựng bằng GemPagesTrang sản phẩm skincare dựng bằng GemPagesLanding page chiến dịch dựng bằng GemPagesTrang tính năng sản phẩm dựng bằng GemPagesTrang danh mục dựng bằng GemPagesTrang bán hàng theo mùa dựng bằng GemPagesTrang thương hiệu dựng bằng GemPages

Trang thật dựng bằng GemPages — product page, landing page cho ads, trang danh mục, trang thương hiệu.Real pages built with GemPages — product pages, ad landing pages, collections, brand pages.

GemCommerce · Ads Intelligence5
SẢN PHẨM ĐANG PHÁT TRIỂNWHAT HE IS BUILDING NOW

GemBossgemboss.comStorefront do AI dựng và tự tối ưu trên ShopifyA storefront that sells for you

Self-driving AI store builder for Shopify

Trang bán hàng đang chạy thậtTrang bán hàng đang chạy thậtTrang bán hàng đang chạy thậtTrang bán hàng đang chạy thậtTrang bán hàng đang chạy thậtTrang bán hàng đang chạy thậtTrang bán hàng đang chạy thậtTrang bán hàng đang chạy thật
90+/100độ khớp thương hiệubrand-match fidelity
<5 mintừ một URL tới storefront chạy thậtfrom a URL to a live storefront
<1 stốc độ tải trang, headlesspage load, headless-fast
100%thay đổi phải duyệt, không tự đăngchanges reviewable, nothing auto-published

Chạy trên chính store Shopify đang có — catalog, checkout, đơn hàng và app giữ nguyên, không migrate.Runs on the Shopify store you already have — catalog, checkout, orders and apps stay put.

GemCommerce · Ads Intelligence6
MetaAD LIBRARY · facebook.com/ads/library

Toàn bộ quảng cáo đang chạy, công khai, miễn phí.Every live ad, in public, for free.

Toàn bộ creative đối thủ đang chạy đều công khai. Quy định minh bạch quảng cáo buộc Meta cho phép bất kỳ ai xem ai đang chạy quảng cáo gì tại thời điểm này, không cần tài khoản và không mất phí. Hạn chế duy nhất: công cụ được thiết kế để xem từng quảng cáo một.Your competitor's entire creative strategy is a public web page. Transparency rules force Meta to let anyone see what is running, by whom, right now. No account, no cost — but it is built for looking at one ad at a time.

01
Ngày bắt đầu chạyStarted running on

Quảng cáo chạy quá 90 ngày gần như chắc chắn đang có lãi. Không ai duy trì một quảng cáo lỗ suốt một quý.Still live past 90 days means it pays for itself. Nobody keeps a loser on for a quarter.

02
Số phiên bản của một quảng cáoHow many versions exist

Ba mươi phiên bản cho cùng một ý tưởng cho thấy đội đang scale. Hai phiên bản cho thấy đội mới ở giai đoạn thử nghiệm.Thirty versions of one idea is a team scaling it. Two is a team guessing.

03
Ngày bắt đầu dồn cụmStart dates bunched together

Nhiều quảng cáo mới trong hai tuần cho thấy brand đang tăng ngân sách. Toàn quảng cáo từ chín tháng trước cho thấy brand đang giữ nguyên.A burst in the last fortnight is a brand pushing. Everything nine months old is a brand coasting.

04
Link đíchThe destination link

Trường ít được đọc nhất nhưng quan trọng nhất với buổi hôm nay: nó cho biết brand đang đưa traffic trả phí về trang nào.The most ignored field, and the one this whole session hangs on: it says which page they trust with the money.

Meta Ad Library, kết quả tìm từ khoá eczema cream
CHO BẠNYOU GET
  • Creative và toàn bộ ad copyThe creative and the full ad copy
  • Ngày bắt đầu chạy, nền tảng đang chạyStart date and which platforms it runs on
  • Số phiên bản và link đíchHow many versions exist, and the destination link
KHÔNG CHOYOU DO NOT GET
  • Chi tiêu, impression, tỉ lệ chuyển đổiSpend, impressions, conversion rate
  • Lịch sử sau khi một ad tắtAny history once an ad stops
  • Sắp xếp, lọc theo tuổi, hay nút exportSorting, filtering by age, or an export button
GemCommerce · Ads Intelligence7
KHI THƯ VIỆN CÔNG KHAI KHÔNG ĐỦWHEN THE FREE LIBRARY RUNS OUT

4 Paid Ads Library tham khảoFour paid ad libraries worth knowing

GetHookdGetHookd

Theo dõi một brand và chỉ ra creative nào đang được đổ ngân sách, rồi biến chúng thành kịch bản. Research và sản xuất nằm chung một chỗ.Watches one brand, flags which creatives are getting budget, and turns them into scripts. Research and production in the same place.

BrandsearchBrandsearch

Tìm store đang lớn nhanh chứ không phải quảng cáo đang lên. Hữu ích khi câu hỏi là ai đang thắng, trước câu hỏi họ đang nói gì.Finds stores that are growing, not ads that are trending. Useful when the question is who is winning, before what they are saying.

AfterLibAfterLib

Một bản lưu của chính thư viện Meta, kèm khả năng sắp xếp mà Meta không cho. Rẻ, thô, làm đúng một việc.A mirror of the Meta library with the sorting Meta will not give you. Cheap, blunt, does one job.

MineaMinea

Lấy sản phẩm làm gốc: tìm thứ đang bán chạy trên Meta, TikTok và bài của KOL, chứ không chỉ trang của một brand.Starts from the product: what is selling across Meta, TikTok and creator posts, not just one brand page.

CRAWLBuổi hôm nay dùng tài khoản free của GetHookd làm nguồn mặc định để cả phòng đi cùng một đường. Đổi sang công cụ khác thì chỉ chặng đăng nhập và chặng tìm API đổi theo, phần còn lại giữ nguyên.Today we default to a free GetHookd account so the whole room walks the same path. Swap the tool and only the login and API-discovery stages change; the rest of the pipeline stands.

GemCommerce · Ads Intelligence8

Quy trình thủ côngDoing it by hand

Không lịch sửNo memory

Không biết ad nào mới, ad nào đã tắt so với đợt trướcYou can’t tell which ads are new and which ones went dark since last time

Không so sánh đượcNothing lines up

Mỗi người gán nhãn một kiểu, hai đợt không ghép đượcEveryone labels things their own way, so two rounds never match up

Không nhân rộngDoesn’t scale

Thêm một ngách là làm lại toàn bộ từ bước 01Add one more niche and you’re back at step 01 doing all of it again

  1. 01Mở Ad Library, chọn quốc gia và gõ từ khoáOpen the ad library, pick a country, type a keyword
  2. 02Cuộn tay để tải thêm adsScroll by hand to load more ads
  3. 03Mở từng ad, chép headline và bodyOpen each ad, copy the headline and body
  4. 04Bấm link đích, mở landing pageClick through to the landing page
  5. 05Dán vào Sheet, tự gán hook và anglePaste it into a sheet, tag the hook and angle yourself
  6. 06Lọc, pivot, ngồi tìm patternFilter, pivot, and stare at it until a pattern shows up
Lật từng mẩu quảng cáo bằng tay
Bạn đang research ads bằng cách nào?So how do you research ads today?
GemCommerce · Ads Intelligence9
GIỚI THIỆU CHỦ ĐỀ VÀ DEMOTOPIC INTRO AND DEMO

Build an Ads Intelligence
tool with AI

CLAUDE CODEPLAYWRIGHTAD-LIBRARY DATA
01
ResearchResearchKéo về quảng cáo đang chạy thật trong ngành bạn chọnPull the ads your category is running right now
02
Tổng hợp và phân loại dữ liệuStructure and label itBóc thành field so sánh được, gắn nhãn angle và formatBreak it into comparable fields, then tag angle and format
03
InsightĐọc ra cái gì đang lặp lại, và chỗ nào chưa ai chạm tớiRead what repeats — and where nobody has gone yet
GemCommerce · Ads Intelligence10

Quy trình có AIThe same job, with an agent

Khung gợi ý, không phải công thứcA shape to borrow, not a recipe
01Crawl dữ liệuCrawl the data

Agent đăng nhập bằng Playwright, dò đúng API đang cấp data, rồi kéo ads về kèm ảnh, ngày chạy và link đích.The agent logs in with Playwright, sniffs out the API that actually feeds the page, and pulls the ads down with their images, dates and destination links.

02Phân tíchAnalyse it

Làm sạch, giữ đúng field cần, gắn nhãn rồi bóc landing page phía sau từng ad. Mỗi bài toán cần bộ nhãn khác nhau.Clean it, keep only the fields you need, label them, then tear down the landing page behind each ad. Every question needs its own labels.

Landing pageHook & angleFormatMomentum
03App dashboardThe app dashboard

PostgreSQL lưu data, Railway chạy theo lịch. Mở ra là filter, group và so sánh được, không phải dựng lại từ đầu.PostgreSQL keeps the data, Railway runs it on a schedule. Open it and you can filter, group and compare — no rebuilding from scratch.

GemCommerce · Ads Intelligence11
OUTPUT PREVIEWWHAT YOU END UP WITH

Đích đến: một research tool có thể filter, group và mở lại bất cứ lúc nàoThe finish line: a research tool you can filter, group, and open again any time

https://gemlabs-ad-vault-production.up.railway.app/

Ad Vault dashboard demo — 758 ads, grouped by angle
GemCommerce · Ads Intelligence12
RESEARCH ADS LIBRARY THÌ ĐỌC RA ĐƯỢC GÌWHAT AN AD-LIBRARY DIG ACTUALLY TELLS YOU

Research ads để lọc ra insight từ thị trườngResearch the ad library, and read the market out of it

01Angle và formatAngle and format

758 quảng cáo đang chạy, chỉ 13 angle. Năm angle đầu chiếm 89%.758 live ads, 13 angles. Five of them carry 89%.

02Trang riêng cho quảng cáoPages built for ads

Mười brand làm đẹp, mỗi brand có 6–45 landing page riêng.Ten beauty brands, each with 6–45 landing pages of its own.

03Traffic theo từng ngànhTraffic by category

720 quảng cáo, 6 ngành: tỉ lệ dùng purpose-built page chênh 12 lần.720 ads, 6 categories: purpose-built page use differs twelvefold.

04Pre-sell pageThe pre-sell page

Khác biệt dồn về pre-sell page — trang nằm giữa quảng cáo và sales page.The difference lands on the pre-sell page — the one between the ad and the sales page.

05Phễu có bốn chặng, tỉ lệ nhân nhauFour funnel stages, and the rates multiply

Quảng cáo → pre-sell → sales page → sau thanh toán. Mỗi chặng một tỉ lệ; cải thiện 10% ở cả bốn cho ra +46% chứ không phải +10%.Ad → pre-sell → sales page → post-purchase. Each stage has its own rate; lift all four by 10% and you get +46%, not +10%.

06Bốn widget ở mọi trangFour widgets, every page

Quantity break, cart drawer, order bump, post-purchase.Quantity break, cart drawer, order bump, post-purchase.

CRAWLSáu insight, mỗi cái một slide. Tất cả đều là số đếm trong dữ liệu tự crawl về; nguồn và cỡ mẫu ghi ở chân từng slide.Six findings, one slide each. Every number is a row count from data we crawled; source and sample size sit at the foot of each slide.

GemCommerce · Ads Intelligence13
INSIGHT 1ANGLE VÀ FORMATANGLE AND FORMAT
758 QUẢNG CÁO ĐANG CHẠY · MỘT BRAND NGÀNH SUPPLEMENT758 LIVE ADS · ONE SUPPLEMENT BRAND
Đọc từ chính Ad Vault ở slide trướcRead straight out of the Ad Vault

758 quảng cáo đang chạy, nhưng chỉ 13 cách nói. Năm cách đầu đã chiếm 89%.758 ads live, but only 13 ways of talking. Five of them carry 89% of the weight.

SỐ QUẢNG CÁO THEO ANGLE · HERCULES SUPPLEMENTSADS PER ANGLE · HERCULES SUPPLEMENTS
Problem / Pain Point266
Social Proof & Reviews177
Fat Loss & Lean88
Natural / Clean Ingredients78
Ingredient Education64
8 angle còn lại, cộng lạithe other 8 angles, combined85

Một brand chi tiền cho 758 quảng cáo cùng lúc, nhưng bóc ra chỉ có 13 angle. Riêng “vấn đề của khách” đã là 266 quảng cáo — hơn một phần ba. Nghĩa là creative thì nhiều, còn thông điệp thì lặp.One brand is paying for 758 ads at once, yet the pile breaks down into 13 angles. The pain-point angle alone is 266 of them — over a third. Plenty of creative; very little new to say.

Lưới quảng cáo trong Ad Vault, mỗi ad có nhãn format và nhãn angle
Cùng một tập ad, cắt theo trục thứ hai: format. Mỗi thẻ ghi rõ video hay ảnh tĩnh, còn đang chạy hay đã dừng, và angle nằm ở chân thẻ. Hai trục đó ghép lại là chỗ đọc ra khoảng trống: angle nào chưa ai làm bằng video, format nào chưa ai thử cho angle đang đông.The same pile, cut on a second axis: format. Each card says video or still, running or stopped, with the angle at its foot. Cross the two and the gaps show up: which angle nobody has filmed, which format nobody has tried on the crowded angle.

CRAWLCách lấy: crawl toàn bộ quảng cáo đang chạy của một brand trong ngành supplement, lưu vào Ad Vault, rồi để AI đọc từng đoạn ad copy và gắn nhãn angle. Số trong biểu đồ là số đếm thật trong bảng, không phải ước lượng. 266+177+88+78+64 = 673 trên 758.Method: crawled every live ad for one supplement brand into the Ad Vault, then had the model read each piece of copy and tag its angle. The chart is a row count, not an estimate: 266+177+88+78+64 = 673 of 758.

GemCommerce · Ads Intelligence14
01 · Question oneCâu hỏi một
INSIGHT 2TRANG RIÊNG CHO QUẢNG CÁOPAGES BUILT FOR ADS
10 BRAND NGÀNH LÀM ĐẸP CHẠY NHIỀU QUẢNG CÁO NHẤT TUẦN NÀYTHE 10 BEAUTY BRANDS RUNNING THE MOST ADS THIS WEEK

Do brands actually build landing pages? Yes. Between six and forty-five each.Brand có thật sự dựng landing page không? Có. Mỗi brand có từ 6 đến 45 trang khác nhau.

DISTINCT LANDING PAGES, PER BRANDSỐ LANDING PAGE KHÁC NHAU, MỖI BRAND Frøya Organics 45 Bask & Lather 32 Prime Prometics 22 Sky&sol 20 Black Girl Vitamins 20 Norse Organics 19 DRMTLGY 17 MoxieLash 11 Rise Luxus 6 Shield Labs 6 Every one of them builds pages. The question is how many, not whether.Brand nào cũng dựng trang. Vấn đề là dựng bao nhiêu, không phải có dựng hay không.

4,531 live ads between them, pointing at 198 pages. That is one page per twenty-three ads: the creative side ships ten times faster than the page side, inside the same team.4.531 quảng cáo đang chạy, đổ về 198 trang, tương đương một trang cho 23 quảng cáo. Trong cùng một công ty, tốc độ sản xuất creative nhanh gấp khoảng mười lần tốc độ làm trang.

CRAWLCách lấy: crawl Meta Ad Library cho 10 brand ngành làm đẹp đang chạy nhiều quảng cáo nhất, lấy toàn bộ quảng cáo đang hoạt động, tách link đích rồi đếm số trang khác nhau của mỗi brand. Đúng loại tool bạn sắp build.Method: crawled the Meta Ad Library for the 10 beauty brands running the most live ads, took every active ad, extracted destination links and counted distinct pages per brand — with the kind of tool you are about to build.

GemCommerce · Ads Intelligence15
INSIGHT 3TRAFFIC THEO TỪNG NGÀNHTRAFFIC BY CATEGORY
720 QUẢNG CÁO · 6 NGÀNH · THỊ TRƯỜNG US720 LIVE ADS · 6 CATEGORIES · UNITED STATES
Vì sao tool phải đọc cả landing pageWhy the tool has to read the landing page too

Mỗi ngành kéo traffic về một kiểu khác nhauEvery niche sends its traffic somewhere different

720 ads đang chạy · 6 ngành · thị trường US · 120 ads mỗi ngành720 live ads · 6 niches · US market · 120 ads per niche

12× chênh lệch giữa ngành cao nhất và thấp nhấtgap between the top niche and the bottom one
Hair growth dùng /pages/Hair growth → /pages/
25%
Skincare dùng /pages/Skincare → /pages/
17%
Pet supplements
14%
Supplements
11%
Weight loss
5%
Jewellery
2%
/pages/ purpose-built /products/ product page home / collection / other

Càng khó giải thích, càng cần trang pre-sell riêngThe harder the sell, the more it needs its own pre-sell page

Đây là lý do research không chỉ đọc ad copy, mà còn phải đọc destination link.That’s why research can’t stop at the ad copy — it has to follow the link.

CRAWLCách lấy: chạy đúng quy trình ở slide 10 vào tuần trước buổi này — tìm theo từ khoá trên Meta Ad Library, chỉ lấy quảng cáo đang hoạt động, thị trường US, 120 quảng cáo mỗi ngành × 6 ngành, phân loại trang đích theo đường dẫn. Khoảng 50–75 brand mỗi ngành.Method: ran the slide-10 pipeline the week before this session — keyword search on the Meta Ad Library, active ads only, United States, 120 ads per category across 6 categories, destinations classified by URL path. Roughly 50–75 brands per category.

GemCommerce · Ads Intelligence16
01 · What the three add up toBa insight đó dẫn tới đâu
INSIGHT 4PRE-SELL PAGETHE PAGE BEFORE THE SALE
KẾT LUẬN RÚT RA TỪ SỐ LIỆU Ở TRÊNTHE CONCLUSION THE NUMBERS POINT TO

Thông điệp thì lặp, landing page thì mỗi ngành một kiểu. Chỗ ăn thua nằm ở pre-sell page.The messages repeat; the pages differ by category. What separates them is the page that comes before the sales page.

01
Số liệu nói gìWhat the data said

758 ads chỉ có 13 angle, 5 angle đầu chiếm 89%. Brand nào cũng có 6–45 landing page riêng. Tỉ lệ dùng purpose-built page chênh 12 lần giữa các ngành.758 ads, 13 angles, five of them carrying 89%. Every brand keeps 6–45 pages of its own. The rate of purpose-built pages differs twelvefold across categories.

02
Suy ra được gìWhat follows from it

Khi ai cũng nói giống nhau, creative không còn là chỗ tạo khác biệt. Khác biệt dồn về landing page mà khách rơi vào sau cú click.When everyone says the same thing, the ad stops being where you win. The difference moves to the page the click lands on.

03
Nên tool phải đọc cả landing pageSo the tool has to read the destination

Đọc ad copy thôi thì chỉ thấy phần ai cũng giống nhau. Phần khác nhau nằm ở landing page, nên trang đó phải được lưu và bóc theo từng block.Read only the copy and you see the part everyone shares. The part that differs sits on the page, so the page has to be stored and broken down.

WHAT MOST STORES DOPHẦN LỚN STORE ĐANG LÀM Ad Stranger. Three seconds.Khách chưa biết brand. Ba giây. Sales page Asks for money straight away.Yêu cầu mua ngay. One click doing two jobs. Usually it does neither.Một trang làm hai việc cùng lúc, thường không đạt việc nào. WHAT THE ONES OUTSPENDING YOU DOCÁCH BÊN CHI NGÂN SÁCH LỚN HƠN ĐANG LÀM Ad Same three seconds.Vẫn ba giây đó. Pre-sell page Its only job: earn the next click.Việc duy nhất: dẫn khách sang trang bán. Sales page Now talking to someone warm.Khách đã có thông tin khi tới trang này. The extra page costs you one afternoon. It changes who arrives at the price.Thêm một trang tốn khoảng một buổi. Đổi lại, người nhìn thấy giá là người đã được giải thích trước.

CRAWLẢnh bên phải: các trang pre-sell và advertorial đang chạy thật, lấy từ cùng bộ dữ liệu crawl ở ba slide trên.Right-hand column: live pre-sell and advertorial pages, pulled from the same crawl as the three slides above.

GemCommerce · Ads Intelligence17
INSIGHT 5TỈ LỆ BỐN CHẶNG NHÂN NHAUTHE FOUR STAGE RATES MULTIPLY
Part two · the four stops of the funnel, one at a timePhần hai · bốn chặng của phễu, xét lần lượt

The page gets you the yes. The rest of the funnel decides how big that yes is.Landing page quyết định khách có mua hay không. Phần còn lại của phễu quyết định giá trị đơn hàng.

STEP 01 STEP 02 STEP 03 STEP 04 Ads Pre-sell page Sales page Post purchase Cold. Reacting, not shopping.Khách lạ, mới phản ứng với quảng cáo. Warming. Still no cart.Đã có thông tin, chưa thêm vào giỏ. Deciding. Offer time.Đang cân nhắc, đây là lúc đưa offer. HOOK · ANGLE · AUDIENCE ADVERTORIAL · LISTICLE · COMPARISON · QUIZ OFFER · BUNDLE · GUARANTEE UPSELL · VOLUME · MYSTERY BOX

Each stop has its own rate and they multiply, so a 10% gain at all four is not 10%, it is 46%. Most stores only ever work on stop three.Phễu có bốn chặng — quảng cáo, pre-sell page, sales page, sau thanh toán — mỗi chặng một tỉ lệ, và các tỉ lệ nhân với nhau. Cải thiện 10% ở cả bốn chặng cho kết quả +46%, không phải +10%. Phần lớn store chỉ tối ưu mỗi chặng thứ ba.

GemCommerce · Ads Intelligence18
02 · Layer three, all of itTầng ba, đủ cả
INSIGHT 6BỐN WIDGET Ở MỌI TRANGFOUR WIDGETS, EVERY PAGE
Four widgets, and where each one sits in the journeyBốn widget, và mỗi cái nằm ở đâu trong hành trình

None of these is clever. Running all four is the whole trick.Không widget nào phức tạp. Điểm quan trọng là chạy đủ cả bốn.

Quantity tiers

On the page · tiersTrên trang · quantity break

The question changes from "buy?" to "how many?". A bundle protects your price; a discount teaches people to wait.Chuyển câu hỏi từ có mua hay không sang mua bao nhiêu. Combo giữ được giá bán, còn giảm giá khiến khách chờ đợt sau.

Cart drawer

In the cart · drawerTrong giỏ · cart drawer

+32% average order value, mostly by not moving them. Free-ship bar, one recommendation, one gift threshold.+32% giá trị đơn trung bình, chủ yếu nhờ giữ khách lại trên trang. Free-shipping bar, một product recommendation, một gift threshold.

Add-on checkboxes attached to the chosen bundle

Beside the button · the bumpCạnh nút mua · order bump

A checkbox sitting next to a decision already made. See the two ticked add-ons under the chosen bundle. Small price, obviously related, one line of copy.Một checkbox đặt ngay cạnh quyết định khách vừa đưa ra, với hai add-on tick sẵn dưới gói đã chọn. Giá thấp, liên quan rõ ràng, mô tả gọn trong một dòng.

Post-purchase offer

After the money · post-purchaseSau thanh toán · post-purchase

The card already cleared. One click, one offer, an honest decline link. Most stores leave it blank.Thẻ đã charge xong. Một thao tác, một offer, một nút decline rõ ràng. Phần lớn store bỏ trống bước này.

Cart drawer figure: GemPages "+32% AOV with Cart Drawer" · Baymard Institute on checkout optimisation.Con số cart drawer: tài liệu GemPages "+32% AOV với Cart Drawer" · Baymard Institute về tối ưu checkout.

GemCommerce · Ads Intelligence19
Part threePhần ba

The formats.Các format.

The four pre-sell shapes, the shape every high-spend page shares, and what 2,506 real tests are actually testing.Bốn hình dạng trang pre-sell, cái hình dạng mà trang tiêu tiền lớn nào cũng có, và 2.506 test thật đang test cái gì.

GemCommerce · Ads Intelligence20
03 · 81 of them, at once81 cái, cùng một lúc

This is what the internet sells like right now.Đây là cách các store đang bán hàng hiện nay.

1,581 advertorials live on high-revenue Shopify stores. We kept 93 as a reference library and pulled 67 of them apart, block by block. Click any tile to open it full size.1.581 advertorial đang chạy trên các store Shopify doanh thu cao. Chúng tôi giữ lại 93 trang làm thư viện tham chiếu và phân tích 67 trang theo từng khối. Bấm vào một ô để xem trang đó ở cỡ lớn.

Different brands, different categories, different agencies. Squint and the same page keeps appearing.Khác brand, khác ngành, khác agency, nhưng cấu trúc trang lặp lại gần như giống nhau.

CRAWLCách lấy: crawl 1.581 advertorial đang chạy trên các store Shopify doanh thu cao, lọc trùng và loại trang hỏng còn 93 trang làm thư viện tham chiếu, rồi bóc 67 trang theo từng khối.Method: crawled 1,581 live advertorials on high-revenue Shopify stores, de-duplicated and dropped broken pages down to 93 reference pages, then tore 67 of them apart block by block.

GemCommerce · Ads Intelligence21
03 · The pre-sell formatsCác format pre-sell
Four shapes, one job: earn the right to make an offerBốn dạng trang, cùng một việc: dẫn khách sang trang bán

All four share one trait. None of them looks like an ad.Cả bốn có chung một đặc điểm: không dạng nào trông giống quảng cáo.

Everything up to here was the page that closes. These four are the page that comes before it, the one whose only job is to earn the click.Phần trước nói về trang đi chốt đơn. Bốn dạng dưới đây là trang đứng trước nó, chỉ có một việc là dẫn khách sang trang bán.

An advertorial pre-sell page
Format 01Format 01

AdvertorialAdvertorial

An article that reads like editorial. Story first, product as the conclusion rather than the premise.Một bài viết có dạng bài báo. Nội dung đi trước, sản phẩm xuất hiện ở phần kết chứ không phải mở đầu.

A listicle pre-sell page
Format 02Format 02

ListicleListicle

"Top 5 reasons your insomnia keeps winning." Skimmable, and every numbered item is another chance to land the mechanism."5 lý do khiến chứng mất ngủ của bạn vẫn thắng." Đọc lướt được, và mỗi mục đánh số là một lần nhắc lại cơ chế sản phẩm.

A comparison review pre-sell page
Format 03Format 03

ComparisonTrang so sánh

A review page: 38 products reviewed, 12 studies, 5 picks. Works when the category is crowded and the buyer is already shopping around.Một trang đánh giá: thử 38 sản phẩm, 12 nghiên cứu, chọn ra 5. Phù hợp khi ngành có nhiều lựa chọn và khách đang so sánh.

A quiz funnel pre-sell page
Format 04Format 04

QuizQuiz

"Take this 60 second quiz." A few questions, then a result page built around the answer. Segments the traffic and earns the email on the way through."Làm bài trắc nghiệm 60 giây." Vài câu hỏi, rồi một trang kết quả dựng quanh câu trả lời. Vừa phân nhóm traffic vừa thu được email.

GemCommerce · Ads Intelligence22
CHUẨN BỊGETTING SET UP

Chuẩn bị máy và tài khoảnGet your machine and accounts ready

GemCommerce · Ads Intelligence23
LÀM TRƯỚC KHI TỚI BUỔI
DO THIS BEFORE THE SESSION

Ba thứ cần cài — và mỗi thứ để làm gì

Three things to install — and what each is for

Cài trên máy
On your machine
  • VS CodeNơi mở thư mục dự án và xem file. Tải ở code.visualstudio.com, cần bản 1.94.0 trở lên.Your desk: where you open the project folder and see the files. Grab it at code.visualstudio.com — version 1.94.0 or newer.
  • Extension “Claude Code”Công cụ viết code. Cài ngay trong VS Code và có sẵn bản CLI, nên không phải gõ lệnh cài đặt.The worker. Installs inside VS Code and brings its own CLI, so there’s no install command to type.
Tài khoản và máy
Accounts and hardware
  • Claude — trả phíClaude — paid planPro, Max, Team, Enterprise hoặc Console. Gói miễn phí không dùng được Claude Code.Pro, Max, Team, Enterprise or Console. The free plan won’t run Claude Code.
  • GetHookd — miễn phíGetHookd — freeTự đăng ký, tài khoản free dùng được ngay.Sign up yourself — the free tier’s fine.
  • GitHub · RailwayChỉ cần nếu muốn deploy để tool tự chạy.Only if you want to deploy and let the tool run on its own.
  • Máy đủ điều kiệnA machine that qualifiesmacOS 13.0 trở lên · Windows 10 (1809) trở lên · RAM từ 4GB.macOS 13.0 or newer · Windows 10 (1809) or newer · 4GB RAM and up.
GemCommerce · Ads Intelligence24
THỰC TẾ BẠN LÀM GÌWHAT YOU ACTUALLY DO

Vibe Coding: Các thao tác cơ bảnVibe coding: the three moves

Tay người và con trỏ máy cùng đặt trên một bàn phímMinh hoạ · The New York TimesIllustration · The New York Times
01
Nói cho Claude CodeTell Claude Code what you wantprompt

Viết bằng ngôn ngữ tự nhiên. Khoanh vùng rõ mục tiêu và mô tả hình dung picture of done, nhưng chừa không gian cho agent tự tìm cách và đưa ra gợi ý thêm. Nó viết code, chạy thử, gặp lỗi thì tự sửa.Plain language. Name the goal and paint the picture of done, but leave room for the agent to work out the how and suggest things you hadn’t thought of. It writes the code, runs it, and fixes what breaks.

02
Push repo lên GitHubPush the repo to GitHubgit push

Một bản sao code trên cloud, nhớ mọi lần sửa. Bạn cũng không gõ lệnh git — bảo Claude Code đẩy lên là xong.A copy of your code in the cloud that remembers every change. You won’t type git commands either — just ask Claude Code to push it.

03
Deploy lên RailwayDeploy to RailwayRailway

Nối repo vào Railway để tool có địa chỉ web công khai và tự chạy theo lịch mỗi sáng.Hook the repo up to Railway so the tool gets a public address and wakes up on its own every morning.

GemCommerce · Ads Intelligence25
SƠ ĐỒ KỸ THUẬTHOW IT ALL WIRES UP

7 nền tảng nối vào nhau như thế nào?How do the seven platforms connect?

Ba thao tác ở slide trước gọi tới bảy nền tảng bên dưới. Đây là cách chúng thật sự nối với nhau.The three moves on the last slide reach into the seven platforms below. Here’s how they actually connect.

Ad library / collector nguồn ads · AfterLib / GetHookdad sources · AfterLib / GetHookd / Apify chỉ là các đường vào/ Apify are just ways in Anthropic API · optional đọc ad copy và gắn nhãn angle trước khi lưureads the ad copy and tags the angle before saving Laptop của bạnYour laptop VS Code · Terminal · Node.js Claude Code viết codeClaude Code writes the code Playwright điều khiển browserPlaywright drives the browser GitHub · repo bản sao code trên cloud,a copy of your code in the nhớ mọi lần sửacloud, remembers every change git push Người xemWhoever opens it mở URL trên bất kỳ máy nàoopens the URL on any machine không cần cài gì thêmnothing to install RAILWAY · MÁY LUÔN BẬTRAILWAY · ALWAYS ON Service 2 · Crawler node src/pipeline.js Cron 0 1 * * * → mỗi sáng tự login, crawl, clean và compareCron 0 1 * * * → logs in, crawls, cleans and compares every morning PostgreSQL · nơi lưu dữ liệuPostgreSQL · the cold store bảng brands · bảng ads · trạng thái ad mới / ad chếtbrands table · ads table · new-ad / dead-ad status lưu lại để hôm nay còn so được với hôm quathe memory that lets today be compared with yesterday Service 1 · Web đọc data từ PostgreSQL rồi trả dashboard ra public domainreads PostgreSQL and serves the dashboard on a public domain your-app.up.railway.app Variables · chỗ cất secretVariables · where secrets live ADLIB_EMAIL · ADLIB_PASSWORD · ANTHROPIC_API_KEY · DATABASE_URL push codepush code Deploy from repoDeploy from repo Generate DomainGenerate Domain login và kéo adslog in and pull ads gọi để classifycall it to classify ghi vào mỗi sángwritten every morning đọc ra khi có người mởread when someone opens it secret không nằm trong code; service chỉ đọc lúc chạysecrets never sit in the code; services read them at run time
CODE: laptop → GitHub → RailwayCODE: laptop → GitHub → Railway DATA: source → crawler → database → dashboardDATA: source → crawler → database → dashboard Anthropic API là optional, có thể bỏ nếu chỉ dùng rule / keywordThe Anthropic API is optional — skip it if plain rules or keywords are enough
GemCommerce · Ads Intelligence26
ĐƯỜNG CHÍNH · KHÔNG GÕ LỆNH NÀO
THE MAIN ROAD · NO COMMANDS

Cài Claude Code ngay bên trong VS Code

Install Claude Code from inside VS Code

Đây là đường ngắn nhất cho người chưa quen máy tính: bốn thao tác chuột, không có dòng lệnh nào phải gõ đúng từng ký tự.

Shortest path if you’re not comfortable at a terminal: four clicks, and no command you have to type character-perfect.

BƯỚC 1 · CÀI VS CODESTEP 1 · INSTALL VS CODE
Bước 01
BƯỚC 2 · TÌM CLAUDE CODE RỒI INSTALLSTEP 2 · FIND CLAUDE CODE, HIT INSTALL
Trang Claude Code for VS Code trên Marketplace
BƯỚC 3 · BA CHỖ CÓ ICON SPARKSTEP 3 · THE THREE SPARK ICONS
Bước 03
BƯỚC 4 · ĐĂNG NHẬP BẰNG TÀI KHOẢN TRẢ PHÍSTEP 4 · SIGN IN WITH A PAID PLAN
Trang Pricing của Claude: Login ở thanh trên, các gói Pro và Max
bấm để xem từng bướcclick through the steps
Cài xong mà không thấy gì trong VS Code?Installed it but nothing shows up in VS Code?

Khởi động lại VS Code. Vẫn không thấy thì mở Command Palette (Cmd/Ctrl + Shift + P) và chạy Developer: Reload Window.

Restart VS Code. Still nothing? Open the Command Palette (Cmd/Ctrl + Shift + P) and run Developer: Reload Window.

GemCommerce · Ads Intelligence27
BUILD SESSION 1
BUILD SESSION 1

Bắt tay dựng Tier 1

Build Tier 1

The first five stages of six: lock the brief, then work it with prompts until you have an HTML file that opens on your laptop. Stage 6 — getting it onto Railway — is after lunch.

GemCommerce · Ads Intelligence28
WORKFLOW TỔNG THỂ
THE WHOLE ROUTE
Bản đồ 6 chặng
The six-stage map

Toàn bộ workflow để build tool này

Every stage of building this tool

01

Chốt brief + nguồn data

Lock the brief and the data source

Chốt market, ngành, số lượng ads và chọn đường vào data.

Settle the market, the niche, how many ads, and how you get at the data.

Brief đủ hẹp để biết crawl xong thì đem so cái gì.

Narrow enough that you’ll know what you’re comparing once the crawl finishes.

02

Nhờ Claude Code tìm đường

Let Claude Code find the way in

Cho agent goal rõ ràng, login bằng Playwright rồi tìm data path / API thật.

Give the agent a clear goal, log in with Playwright, then hunt down the real data path / API.

Login được và tìm ra API đang cấp data cho giao diện.

You’re logged in and you’ve found the API feeding the interface.

03

Crawl + paginate + lấy mẫu

Crawl, paginate, sample

Lấy nhiều trang bằng cursor, dừng đúng limit.

Pull page after page with a cursor, stopping at the limit you set.

Có count rõ và xem được sample row.

You’ve got a real count and can eyeball a sample row.

04

Làm sạch + gắn nhãn

Clean and label

Giữ field cần dùng, tải thumbnail, gắn nhãn angle, teardown landing page.

Keep the fields you need, pull thumbnails, tag the angle, tear down the landing page.

Dataset đã clean, tag và normalize.

A dataset that’s clean, tagged and normalized.

05

Dựng dashboard HTML

Build the HTML dashboard

Tier 1: một file HTML filter và sort được, mở ngay trên laptop.Tier 1: one HTML file you can filter and sort, opening straight on your laptop.

Mở lại lúc nào cũng dùng được.

Works every time you open it again.

06

Deploy + tự chạy hằng ngày

Deploy it and let it run daily

Tier 2: Railway, PostgreSQL, Variables, Domain và Crawler + Cron.Tier 2: Railway, PostgreSQL, Variables, a domain, and the Crawler on Cron.

App có URL công khai, crawler tự chạy mỗi sáng.

The app has a public URL and the crawler runs itself every morning.

Câu chốt để dễ nhớ: Tier 1 = tool research chạy trên máy của bạn. Tier 2 = chính tool đó, nhưng đã có database, có URL công khai và có Cron bấm Run thay bạn.
One line to remember: Tier 1 is a research tool that runs on your laptop. Tier 2 is the same tool, but with a database, a public URL, and a Cron job pressing Run for you.
GemCommerce · Ads Intelligence29
PROMPT 01
PROMPT 01
Nhờ Claude Code tìm đường
Let Claude Code find the way in

Đưa goal + hình dung output, đừng khóa cứng cách làm

Give it the goal and a picture of done — don’t nail down the how

Prompt mở giúp agent tự tìm đường tốt hơn: có thể inspect HTML/DOM, có thể dùng Playwright, hoặc phát hiện API ẩn mà mình không biết trước.

A loose prompt lets the agent find a better road than you would have: inspect the HTML/DOM, drive Playwright, or turn up a hidden API you never knew was there.

Prompt tham khảoSample promptnguyên văn buổi build · đổi ngành và số lượng theo brief của bạnverbatim from the build · swap the niche and the count for your own brief
Tôi muốn crawl 100 skincare sales ads.
Log into GetHookd hoặc Brandsearch with this email … and password … (bạn điền thông tin của bạn).
Bạn có thể dùng Playwright để điều khiển browser và kéo data.
Có thể phân tích structure hiện tại của site, HTML/DOM, rồi extract info đúng; hoặc dùng cách khác nếu bạn thấy hợp lý.

Hình dung output của tôi là một grid các ad box và các thông tin đi kèm, một bản phân tích tổng hợp, một bản nhận xét chung bằng text 500 từ, và các biểu đồ để phân tích những mẫu số chung dùng được và các data pattern có thể có.
Crawl 100 skincare sales ads for me.
Log in to GetHookd or Brandsearch with this email … and password … (put your own in).
Playwright is fine if driving a browser is the way in.
Read the site as it stands today — HTML/DOM — and pull the fields from there, or take another route if you judge it better.

What I want back: a grid of ad boxes with their details, one summary analysis, a 500-word write-up in plain prose, and charts that surface the patterns worth reusing.
GemCommerce · Ads Intelligence30
PROMPT 02
PROMPT 02
Dựng dashboard
Build the dashboard

Đừng đưa sẵn danh sách chỉ số — hỏi xem seller cần gì

Don’t hand it your metrics — ask what a seller actually needs

Prompt này quyết định dashboard trông ra sao. Nó trao quyền phân tích cho agent thay vì chốt cứng tám chỉ số của mình.

This prompt decides how the dashboard turns out. It hands the thinking to the agent instead of locking in your own eight metrics.

Prompt tham khảoSample promptnguyên văn buổi build · để ngỏ, đừng liệt kê sẵn chỉ sốverbatim from the build · leave it open, don’t list the metrics
Từ góc nhìn của seller, tôi muốn nghiên cứu các ads này chi tiết để có ích cho việc chạy quảng cáo của tôi.

Bạn thử phân tích xem một seller đi nghiên cứu hàng loạt ads thì cần nhận về những insight gì.

Làm artifact, UI/UX cho phần trình bày để tôi đánh giá trước khi bắt tay vào làm.
From a seller’s point of view, I want to study these ads closely so it actually helps how I run my own.

Have a think about what a seller researching a pile of ads would want to get back.

Build it as an artifact, with the UI/UX for how it’s presented, so I can look it over before you start building.
GemCommerce · Ads Intelligence31
BUILD SESSION 2
BUILD SESSION 2

Đưa tool ra khỏi laptop lên Railway để tự chạy

Move the tool off your laptop onto Railway so it runs itself

Tier 1 · trên laptop của bạnTier 1 · on your laptop Run bạn mở file, bạn bấm, rồi mới có datayou open the file, you click, then you get data Không ai bấm thì không có gì chạyNobody clicks, nothing runs git push → deploy Tier 2 · trên RailwayTier 2 · on Railway Railway · máy luôn bậtRailway · always on Cron chạy thay bạn, 01:00 mỗi ngàyCron presses Run for you, 01:00 every day your-app.up.railway.app Bạn đóng máy, nó vẫn chạyYou close the laptop, it keeps going
GemCommerce · Ads Intelligence32
TIER 1 → TIER 2
TIER 1 → TIER 2
Deploy + tự chạy
Deploy and run daily

Thêm “trí nhớ” cho công cụ

Give the tool a memory

Tự chạy mỗi sáng mới chỉ là lấy được data. Có database, tool mới so được hôm nay với hôm qua — và chính chỗ so đó mới là thứ đáng đọc.

Running every morning only gets you data. With a database, the tool can hold today up against yesterday — and that comparison is the part worth reading.

TIER 1 · Giống như TẤM ẢNH CHỤP
TIER 1 · LIKE A SNAPSHOT

Chỉ biết hiện tại

Only knows right now

  • “Ad nào mới xuất hiện?” không trả lời được
  • “Which ads are new?” no way to tell
  • “Ad nào đã dừng?” không trả lời được
  • “Which ads stopped?” no way to tell
TIER 2 · Giống như CAMERA AN NINH
TIER 2 · LIKE A SECURITY CAMERA

Biết cả cái đã đổi

Knows what changed

  • “Ad nào mới xuất hiện?” so với hôm qua là ra
  • “Which ads are new?” compare with yesterday and there they are
  • “Ad nào đã dừng?” có mặt hôm qua, nay biến mất
  • “Which ads stopped?” there yesterday, gone today
01:00Cron chạy đúng giờCron’s alarm goes off Crawllấy ads của hôm naypull today’s ads So sánhComparehôm nay vs hôm quatoday against yesterday LưuSaveghi thêm một lớp mớiwrite one more layer Dashboardtự mới, không cần bạnrefreshes without you PostgreSQL · nơi lưu dữ liệuPostgreSQL · the memory brands1 brand ghi đúng 1 lầneach brand written once adsnhiều dòng ad mỗi ngàymany ad rows each day brand_id đọc hôm quaread yesterday ghi hôm naywrite today ngày mai Cron chạy lại và lặp lại chu trình · mỗi dữ kiện chỉ lưu đúng một lầntomorrow the alarm rings again and it starts over · every fact stored exactly once
GemCommerce · Ads Intelligence33
TRƯỚC KHI NỐI DATABASEBEFORE WIRING THE DATABASE
Bạn đã biết cái này rồi, chỉ khác tên gọiYou already know this, under a different name

Database là Excel có kỷ luật.A database is Excel with discipline.

Trong ExcelIn ExcelTrong databaseIn a database
Một sheetA sheettable · bảng
CộtColumncolumn · field
DòngRowrow · record
Mã không trùngA unique codeid · primary key
VLOOKUPforeign key
Filter + Pivotquery

Khác Excel ở ba chỗ: không lặp dữ liệu (một brand lưu đúng một lần, mọi ad trỏ về), có ràng buộc (cột ngày chỉ nhận ngày), và nhiều tiến trình ghi cùng lúc mà không đẻ ra bản final-v3.Three real differences: no repetition (a brand is stored once, every ad points back), rules (a date column only takes dates), and many writers at once without spawning a final-v3 copy.

01
Tool này cần đúng hai bảngThis tool needs exactly two tables

Một bảng cho brand, một bảng cho ad. Mỗi ad ghi kèm brand_id để biết nó thuộc brand nào.One for brands, one for ads. Each ad carries a brand_id so you know which brand it belongs to.

02
Cách tự tìm ra bảng của mìnhHow to find your own tables

Kể ứng dụng bằng một câu, rồi gạch chân mọi danh từ chỉ vật. Gần như mỗi danh từ là một bảng.Say what your app does in one sentence, then underline every thing-noun. Each one is almost certainly a table.

03
Khi AI hỏi “schema thế nào?”When the AI asks “what schema?”

Nó đang hỏi: có những bảng nào, mỗi bảng có cột gì, bảng nào nối với bảng nào.It is asking: which tables, which columns in each, and what links to what.

brands
id · name · domain
1 · Hercules Sup. · hercules.com
ads
id · brand_id · headline · landing_url
77 · 1 · “Sleep deep…” · /products/…

brand_id = 1 nghĩa là ad đó thuộc brand số 1. Chỉ vậy thôi, đó là “liên kết”.brand_id = 1 means that ad belongs to brand 1. That is all a “link” is.

GemCommerce · Ads Intelligence34
NỐI TOOL VÀO DATABASE
WIRING THE TOOL TO A DATABASE
Deploy + tự chạy
Deploy and run daily

Đổi chỗ lưu: từ file trên máy sang PostgreSQL

Change where it saves: from a local file to PostgreSQL

Slide trước nói database dùng để làm gì. Đây là việc phải làm trong code — bước thật sự biến Tier 1 thành Tier 2.

The last slide covered what a database is for. This is the work in the code — the step that actually turns Tier 1 into Tier 2.

Prompt tham khảoSample promptmẫu · giữ nguyên tên biến DATABASE_URLsample · keep the DATABASE_URL name as it is
Đổi chỗ lưu của pipeline từ file sang PostgreSQL.
Tạo bảng brandsads, ads trỏ về brands bằng brand_id.
Lấy chuỗi kết nối từ biến môi trường DATABASE_URL, đừng viết thẳng vào code.
Chạy xong cho tôi xem số row của từng bảng.
Move the pipeline off files and onto PostgreSQL.
Create a brands table and an ads table, with ads pointing back at brands through brand_id.
Read the connection string from the DATABASE_URL environment variable — don’t hard-code it.
When it’s done, show me the row count for each table.
GemCommerce · Ads Intelligence35
DEPLOY + TỰ CHẠY
DEPLOY AND RUN DAILY
Deploy + tự chạyDeploy and run daily

Deploy bằng một prompt

Deploy it with one prompt

Bảy việc để đưa tool lên Railway. Đúng một việc bạn phải tự bấm — sáu việc còn lại nói với Claude Code là xong, vì Railway có CLI và lịch chạy khai được ngay trong repo.

Seven things stand between your tool and Railway. Exactly one of them you click yourself — the other six you just ask Claude Code to do, because Railway has a CLI and the schedule lives in the repo.

1

Việc duy nhất bạn phải tự làm

The one thing you do yourself

Vào railway.app bấm Login with GitHub một lần. Rồi trong terminal chạy railway login --browserless — nó in ra một mã, dán mã đó vào trang vừa mở.

Go to railway.app and hit Login with GitHub once. Then run railway login --browserless in your terminal — it prints a code, and you paste that into the page it just opened.

Xong thì thấy gì:railway whoami ra đúng email của bạn.

What you should see: run railway whoami and your own email comes back.

Prompt tham khảoSample promptmẫu · sáu việc còn lại gộp trong một câusample · the other six rolled into one ask
Bạn login vào Railway bằng thông tin này — [Email] [Password] (bạn điền thông tin của bạn) — rồi tự set up và deploy dự án lên Railway: tạo database, khai biến môi trường, dựng cron job chạy mỗi sáng — cho ra một dự án hoàn chỉnh.
Xong thì mở link cho tôi xem.
Log in to Railway with these credentials — [Email] [Password] (fill in your own) — then set the project up and deploy it yourself: create the database, set the environment variables, add a cron job that runs each morning. A finished deployment, not half of one.
When it is up, open the link for me.
MỞ RAILWAY LÊN PHẢI THẤY GÌWHAT RAILWAY SHOULD LOOK LIKE
  • Project có ba ô: Web · Crawler · PostgreSQL.
  • The project’s got three boxes: Web · Crawler · PostgreSQL.
  • Tab Variables hiện đủ tên biến, giá trị bị che lại.
  • The Variables tab lists every name, with the values masked.
  • Service Web có link your-app.up.railway.app bấm được.
  • The Web service has a clickable your-app.up.railway.app link.
  • Service Crawler: Settings → Cron Schedule hiện 0 1 * * *.
  • Crawler service: Settings → Cron Schedule reads 0 1 * * *.
  • Sáng hôm sau, log của Crawler báo nó vừa chạy.
  • Next morning, the Crawler log says it just ran.
CRON SCHEDULE
0
phútmin
1
giờhour
*
ngàyday
*
thángmonth
*
thứweekday

01:00 UTC = 08:00 giờ Việt Nam. Railway chạy theo giờ UTC, không theo giờ laptop của bạn.01:00 UTC = 08:00 in Vietnam. Railway runs on UTC, not on your laptop’s clock.

ANTHROPIC_API_KEY phải tự lấy ở console.anthropic.com và tính tiền riêng — gói Pro/Max không kèm. Thiếu nó tool vẫn chạy, chỉ mất phần gắn nhãn angle.

ANTHROPIC_API_KEY you have to get yourself at console.anthropic.com, and it’s billed separately — Pro and Max don’t include it. Without it the tool still runs, you just lose the angle tagging.

GemCommerce · Ads Intelligence36
CÙNG CÔNG THỨC, ĐẨY XA HƠN MỘT BẬCTHE SAME RECIPE, ONE LEVEL FURTHER

Nghiên cứu đối thủ bắt đầu từ quảng cáo họ đang chạy.Competitor research that starts from the ads they are running.

Nhập một URL store. Nhận lại cái kệ hàng mà store đó đang đứng: ai bán cùng một người mua.One store URL in. Out comes the shelf it competes on: everyone selling to the same buyer.

  • Đối thủ trực tiếp và hàng thay thế — model đề xuất, rồi đối chiếu lại bằng thang giá và mức trùng danh mục.Direct rivals and substitutes — proposed by the model, then checked against real price ladders and catalogue overlap.
  • Doanh số ước lượng — đo từ Brandsearch khi còn quota, chỗ nào không đo được thì ghi rõ là mô hình. Không trộn hai loại vào nhau.Sales figures — measured from Brandsearch where quota allows, modelled with stated assumptions where it does not. Never blended.
  • Áp lực quảng cáo — mỗi bên đang chạy bao nhiêu ad, dạng gì, từ bao giờ.Live ad pressure — how many ads each one is running, in what format, since when.
  • Trang đích chụp lại — trang nằm sau quảng cáo, chụp màn hình chứ không mô tả.Landing pages, captured — the pages behind the ads, screenshotted rather than described.
  • Chân dung khách đọc ra từ ad copy — đọc bằng chính thứ ngôn ngữ họ bỏ tiền chạy.Personas read out of ad copy — from the language they actually buy media against.
Trang chủ rival·lens
Trang chủ: bỏ vào một URL store.Home: drop in one store URL.
Kết quả phân tích funacrylic.com trên rival·lens
Kết quả: 89 sản phẩm, 36 ad đang chạy, và phần “đọc ra được gì” bằng số. Result: 89 products, 36 live ads, and the read-out in numbers. Mở bản chạy nàyOpen this run
GemCommerce · Ads Intelligence37
KẾT THÚC
WRAP-UP

Ads Intelligence chỉ là một ví dụ

Ads Intelligence is just one example

Một ví dụ áp dụng AI vào tác vụ hằng ngày của seller: cắt việc thành từng khúc, giao mỗi khúc cho AI, rồi nối lại thành một chuỗi tự chạy.

One way to put AI on a seller’s everyday work: cut the job into pieces, hand each piece to AI, then chain them into something that runs itself.

01Lấy dữ liệuGet the datacrawl ad library, lật trang tới đủ sốcrawl the ad library, page through to the count
02Làm sạchClean it upgiữ field cần dùng, nén thumbnailkeep the fields you need, shrink the thumbnails
03Phân loạiClassifyAI đọc copy, gắn nhãn angleAI reads the copy and tags the angle
04So sánhCompaređối chiếu với dữ liệu hôm quahold it up against yesterday’s data
05Trình bàyPresentdashboard có URL công khaia dashboard on a public URL

Dòng đậm là bước chung, dùng lại được cho việc khác. Dòng nhạt là việc hôm nay làm cho ads — đổi dòng đó là ra một chuỗi khác.The bold line is the generic step, reusable on any job. The faint line is what we did for ads today — change it and you get a different chain.

MANG SLIDE VỀTAKE THE SLIDES
Quét để mở bộ slide này trên điện thoạiScan to open this deck on your phoneBản đầy đủ 38 slide, kèm toàn bộ ảnh chụp và prompt. Mở được cả sau buổi.All 38 slides, every screenshot and prompt. It stays up after today.chriskoh.dev/gemlabs-07
GemCommerce · Ads Intelligence38