FLYER · Internal study · Updated 29/09/2026

Learn from others

Teardowns of products built outside FLYER, written so the team can copy the mechanisms that work and skip the ones that do not. One company per tab.

Pancake and the Pancake ecosystem

How a Hanoi team turned a free fanpage tool into the conversation layer of Vietnamese social commerce, what the seven products around it do, how the money works, and which of those mechanisms transfer to FLYER, both as a Pancake customer and as a product company.

Key facts, origin and limits
Proposal for discussion
Company
Pancake Việt Nam Co., Ltd · Hanoi
Chief executive
Mai Hồng Phong
Product since
2016 (pages.fm)
Claimed reach
260,000+ businesses
Recognition
Meta Messaging Partner of the Year 2022, 2023

Written on 17/09/2026 in reply to the question: "Đây là product của bên Phong sinh năm 92, bạn ấy rất giỏi. Hãy phân tích chi tiết về Pancake và các sản phẩm trong hệ sinh thái, và mình có thể học hỏi được gì nhé. https://pancake.vn/"

Drafted by an AI assistant in a single session from public sources fetched that day (pancake.vn, botcake.io, docs.pancake.biz, LinkedIn and TopCV company pages, Vietnamese business registries, VietnamBiz and VIR interviews, third-party reviews) plus FLYER's own Pancake API data pulled on 09/09 and 13/09/2026. Several Pancake pages render prices with JavaScript, so plan prices come from third-party listings and may lag the live price list. The company registry names Mai Hồng Phong as owner and legal representative; the founder's birth year could not be verified from public sources. Revenue, headcount and funding are not disclosed anywhere public.

Added 19/09/2026 in reply to a follow-up question: "Check and learn for me how Pancake setup event to track user journey". Section 4 is drawn from Pancake's own product documentation, its public OpenAPI and webhook specifications, all read on 19/09/2026. Where the documentation describes only an API field and not the interface behind it, the text says so.

Added 19/09/2026, second pass in reply to: "Pancake product retention is so high, and i want to study how they tracking and optimize product". Section 5 rests on a browser check of Pancake's own login page, point-of-sale app and chatbot site, and on counting their public changelog. Only surfaces reachable without an account were observed, so the finding about analytics tools is stated narrowly.

This is a proposal for team discussion, not a decision.

1Summary

  • One paid product, six free satellites. Pancake charges only for the conversation inbox, priced per page and per staff seat from about 92,000đ a month. POS, chatbot, landing-page builder, team chat, CRM and accounting are free. The free products keep orders, customers and money inside the same account, which makes the paid inbox hard to leave.
  • The moat is the closed loop between ads and orders. Every order created in a chat is sent back to Meta and Google as a conversion signal, so a seller's ads get better the longer they stay on Pancake. Meta named Pancake its Vietnam messaging partner of the year two years running.
  • Scale came from a free tool, not from marketing. pages.fm was a free fanpage utility in 2016 and 2017. The legal entity was only registered in December 2019, after the product already had its user base.
  • The AI strategy is assistant first, agent second. The AI assistant only suggests replies to staff; Botcake AI screens conversations and hands over when purchase intent appears. The chief executive frames this as cost: clients report 60 to 70 percent of marketing budget going into messaging, and link-based order closing cutting operations cost by 70 to 80 percent.
  • For FLYER the most transferable ideas are conversion signals fed back to ads from the CRM, a single account and wallet across the product family, per-unit pricing that grows with the customer, and public developer documentation. As a Pancake customer FLYER is under-using the platform: default retail tags, a disconnected page, a median first reply of 161 minutes on the Teado page, and a bot flow that rejects one in five phone numbers.

2The company in numbers

ItemValueSource and caveat
Legal entityCông ty TNHH Pancake Việt Nam, tax code 0109039397, registered 26/12/2019Vietnamese business registries. The product predates the company by three years.
Owner and legal representativeMai Hồng Phong, chief executiveRegistry; VietnamBiz interview (08/2025).
OfficesHanoi (Vinhomes Smart City, formerly Ecolife Capitol), representative offices in Ho Chi Minh City and Thanh Hóa, Singapore address on LinkedInRegistry, TopCV, LinkedIn.
Headcount51 to 200 (LinkedIn) or 100 to 499 (TopCV)Self-reported ranges only.
Customers260,000+ businesses (pancake.vn), 250,000+ (LinkedIn), 150,000+ on Botcake, 40,000+ on POSCompany claims; counting method not stated. Likely counts pages or accounts, not paying customers.
Named customersYody, FPT Shop, Be, ILA, TH True Milk, Elsa Speak, Pharmacity, Vinmec, Modanisa (Turkey), Nestlé PhilippinesSuccess-story pages and LinkedIn posts.
MarketsVietnam, Philippines, Thailand, Cambodia, Laos (launched 2025), Indonesia, plus Brazil and Colombia via WhatsApppancake.ph, pancake.biz country list, LinkedIn posts.
Platform standingMeta Messaging Business Partner of the Year, Vietnam, 2022 and 2023; Meta and Google strategic partner; TikTok Shop integrationLinkedIn, VIR interview with Meta, Pancake site.
Revenue, profit, fundingNot disclosedNo press coverage of a funding round found. The company appears to be bootstrapped and profitable, but this is inference from the absence of investor news, not a fact.

Timeline

YearWhat happened
2016pages.fm appears as a free tool for Facebook page sellers. A 2017 review describes it as narrower than Page365, focused on hiding customer comments from competitors, and free to use.
2017 to 2019Inbox and comment management, order creation inside chat, phone and address detection. Pancake v2 ships with a Chrome extension.
12/2019Pancake Việt Nam Co., Ltd registered in Hanoi.
2020 to 2022POS, Botcake and Webcake become separate products. Shopee, Lazada, TikTok Shop, Zalo OA and WhatsApp connect to the inbox.
2022, 2023Meta names Pancake its Vietnam messaging partner of the year. Pancake speaks at the Meta Business Messaging Summit.
2024, 2025Country pages for the Philippines and Thailand; Laos launch; presence at Meta summits in the Philippines and the Indonesia digital conference. Pancake Work, CRM and Fintab join the family.
2026AI assistant inside the inbox, Botcake AI agents, WhatsApp Business API pricing, Pancake Connection Day on AI and social commerce. Documentation site rewritten with an OpenAPI file that the docs say AI agents should read directly.

3The ecosystem, product by product

Seven products share one Pancake Account, one prepaid wallet and one customer record. The paid inbox sits in the middle; everything else exists to pull data into it or to push data out to the ad platforms.

Ads Conversation Order Delivery Free satellites Meta, Google, TikTok lead forms, click-to-message Pancake inbox (paid) Botcake, AI assistant, call centre POS, Webcake storefront payment QR, stock carriers COD reconciliation CRM (customer record) · Pancake Work (team chat, tasks) · Fintab (books, tax) · Open API and webhooks Conversion signals sent back (CAPI), so the next ad targets buyers, not chatters
ProductWhat it doesPriceRole in the system
Pancake (pages.fm)One inbox for Facebook, Instagram, Zalo OA and personal Zalo, WhatsApp, TikTok, Shopee and Lazada chat. Tags, filters, auto-assignment, quick replies, phone and address detection, call centre with recordings, statistics per page, per staff and per tag, mobile apps, Chrome extension.Paid, per page and per staff seat, 14-day trialThe chokepoint. Every other product feeds it or is fed by it.
BotcakeFlow builder for Messenger, WhatsApp, TikTok and Line. Ready-made consultation scripts, broadcast campaigns, lead capture, order creation into POS, handover to a human. Botcake AI answers from a knowledge base using the customer's own OpenAI key.Free to 500,000 automated messages a month; Pro from 30 USD per 3 million broadcast messages; WhatsApp template fees passed throughAbsorbs the first reply so the paid inbox only holds conversations worth a human.
Pancake POSOrders from chat, marketplaces and storefront; multi-warehouse stock; carrier integration; telesales with call scheduling; bulk personalised messaging; payment QR per order; cash-flow reconciliation; Meta and Google event sync.FreeTurns a conversation into an order and produces the conversion event that goes back to the ad platforms.
WebcakeDrag-and-drop landing pages and storefronts, wired to POS for orders and to the inbox for chat.FreeOwns the click destination so the funnel never leaves the family. Competes with LadiPage, which FLYER uses for flyer.vn.
Pancake CRMCustomer record built from conversations and orders, segments, scheduled care, journey view inside the chat window.Not priced publiclyMakes the customer record the reason to keep the inbox.
Pancake WorkInternal chat, tasks and monitoring for the sales team, in the same window as the customer inbox.FreeReplaces Zalo groups and Slack for the shop floor; staff never switch apps.
FintabSimple books for shop owners: sales, expenses, debts, cash by account, profit dashboard, and the 2026 tax rules for household businesses.FreeNew in 2026. Rides the tax change that pushes household sellers onto invoices and books.

Two more layers matter. The platform layer is WhatsApp Business API resold with Meta's per-message fees passed through, plus an Open API and webhooks for POS and the inbox, documented at docs.pancake.biz with a machine-readable OpenAPI file. The community layer is a Facebook group for users, a public changelog, success stories, and yearly summits co-hosted with Meta.

4How Pancake instruments the journey

Pancake has no general-purpose analytics event bus and no session tracking. Instead it instruments the four moments where money moves, and it reuses one object's state machine as the event source for everything else. Understanding that choice is the most transferable part of the whole platform.

The four moments, and the key that carries across them

StageWhat Pancake recordsIdentifier it carries
SourceWhich ad, post, shortlink, website widget or marketplace the customer came from. Ad-sourced conversations show the ad identifier and the time of the click, including a TikTok ad identifier on a conversation that arrives in Messenger.Ad identifier, post identifier, or a source name the admin chose
ConversationCreated, assigned, read, replied, tagged, untagged, each with a timestamp. Tag changes are kept as a chronological log with the editor and the action.Platform user identifier, plus the page customer record
OrderA numeric status from a fixed list of seventeen, with the transition history optionally exported.Order identifier, order source, phone number
MoneyStatus 16, collected, is the point where a receipt is created and revenue is recognised.Order identifier

The join key between the conversation world and the order world is the phone number. Pancake detects it in the message text, and an optional setting creates the POS order automatically the moment a message contains one. That single toggle is what turns a chat into a tracked journey without anyone filling in a form.

One state change, many subscribers

Nothing in Pancake fires an event by being logged. Events fire when an order changes status. The same transition is consumed by five or six different subsystems, each configured separately, which is why the platform feels automated without having a workflow builder at its centre.

Order status changes one of 17 states Conversion event to Meta, Google, TikTok Zalo or SMS template to the customer Auto-print the packing slip Botcake scenario for that stage Stock, receivable and receipt ledger Webhook to the seller's own server

The statuses that carry side effects are worth naming, because the seller picks one of them as the trigger for the purchase event.

StatusNameWhat happens
0newCreated. Stock is reserved as sellable, not deducted. Candidate trigger for the order-created event.
1submittedConfirmed with the customer. The default trigger for the purchase event.
9pendingWaiting for the carrier. Real stock is deducted here.
2shippedCarrier collected. The order locks, and a receivable is created for cash on delivery.
3deliveredCustomer received. Money is not yet recognised.
16collectedReconciled with the carrier and cash received. Receipt created, revenue recognised.
5, 6, 7returned, canceled, removedStock goes back. Choosing a late status as the purchase trigger is how sellers avoid counting these.

The event catalogue

EventWhere it is configuredWhat fires itWhere it lands
PurchasePOS, under configuration, Meta conversion eventsAn order reaches the status the seller picked, confirmed by defaultMeta dataset, visible as purchases and purchase value, and therefore return on ad spend
Order createdSame screen, as a custom rowThe order is created, before confirmationMeta, counted as a purchase depending on campaign setup
Offline purchaseSame screen, in-store tab, needs a dataset identifier and access token pasted from MetaAn in-store order reaches the chosen statusMeta, as offline purchases, which fire independently of the online ones
Lead submittedInbox general settings, one toggleThe customer leaves a phone number in the conversationMeta, to optimise toward people who give a number
Conversation startedInbox tools, connecting a TikTok or Google ad accountA conversation opens from that ad account's campaignA TikTok event set, or a Google Ads conversion goal. Each ad account maps to one event set.
Tag as conversionTag settings; the public API exposes a per-tag flag marking a tag as a lead or conversion eventA staff member attaches that tag to the conversationReporting, and the lead signal. The documentation does not describe the toggle, only the API field, so treat this one as probable rather than confirmed.
Flow eventA Meta conversion node inside a Botcake flow, with event name, product code, currency and price, which can be bound to POS variablesThat flow sends its message to a customerMeta dataset. Attaching flows to order statuses lets the confirmation message double as the purchase event.
Spam reportThe advanced panel on a conversationA staff member marks the conversation as junkMeta, as a negative signal, so delivery to people resembling that customer is reduced
WebhookInbox tools, webhook; and in POS under third-party connectionsNew message, conversation change, tag change, order creation, post change, page connection changeThe seller's own server. Five event types are documented: messaging, conversation, post, subscription and connection status.

Attribution rules that decide the numbers

  • Seven days from the click. An order counts as coming from an ad only if it appears within seven days of the click. The report separates new ad-sourced orders from processed ones, and the close rate is processed divided by new.
  • Conversion campaigns need a conversation. For a conversion campaign, Pancake can only report a Meta purchase if the customer also opened a conversation with the page. Traffic that converts on a landing page without messaging is invisible to this column, which is why Pancake tells sellers to route people into Messenger.
  • Offline events are the cross-check. Because in-store events fire without any conversation, sellers are told to compare them against the online columns to catch mapping mistakes and double counting.
  • One status maps to one event. A status cannot carry two events, and after creating a row only the event type and value can be edited. This is a deliberate guard against double counting.
  • Zero-value orders get a default price. A gift or zero-price order would otherwise send revenue of nothing and corrupt return on ad spend, so the configuration requires a fallback value.
  • The dataset belongs to the page owner. Events land in the dataset on the business manager that owns the page, not on a partner's business manager, which is the most common reason a seller sees no data.
  • Platform numbers will not match. Pancake states plainly that its conversation counts differ from TikTok's and Meta's because the counting methods differ, and its campaign report shows platform rows and Pancake rows in different colours rather than reconciling them.

Two details show how much of this is handled for the customer rather than by the customer. Pancake and Meta migrated every existing account onto the conversions interface, and the connection is created automatically as soon as a page produces its first order. Most sellers never open the configuration screen at all, which is why the feature has near-universal adoption across 260,000 accounts.

Where the source is captured

Three mechanisms cover the entry points that ad platforms do not label by themselves. Trackable short links for Messenger, Instagram, WhatsApp, TikTok and Zalo carry a source name the admin chooses, with a pre-filled first message the customer has to send for the source to register. The website chat widget can raise a form-submission event for Tag Manager. Marketplace and website orders arrive with their own channel recorded. Everything else is inferred from the ad identifier Meta or TikTok attaches to the conversation.

What Pancake deliberately does not track

There is no page-view funnel, no session or path analysis, no cohort tool and no experiment framework. The reports answer a short list of operational questions: which campaign produced orders, which staff member replied, which tag is growing, when the peak hours are. A seller who wants deeper analysis is expected to take the webhook feed or the export and do it elsewhere.

The pattern FLYER can copy

The structure is what transfers, not the vocabulary. FLYER has no orders and no carriers, but it does have a state machine that every customer passes through, and it currently emits nothing when a customer advances.

Pancake mechanismFLYER equivalentWhy it is worth having
One state machine as the event sourceA subscription or trial state for parents and schools, and an activity state for teachers, for example invited, activated, first assignment sent, three classes taught, paid, renewedRemoves the need to instrument every screen. One table's transitions become the event feed for ads, notifications and reporting.
Purchase event on a chosen statusA paid event sent to Meta from the moment a payment is confirmed, not from a form submissionCampaigns optimise toward buyers. Today FLYER optimises toward form fills, which is why 79 percent of phone numbers come from lead forms and few convert.
Lead submitted on phone detectionA qualified-lead event when a phone number is captured in the Zalo official account or the Cambridge pagesThe cheapest available improvement to cost per paying customer. Zalo is not a Meta surface, so this event has to be sent by FLYER's own code rather than by Pancake.
Tag treated as a conversionA customer-service tag such as school lead qualified, marked as the conversion eventLets a human judgement become the optimisation target when no automatic signal exists.
Spam report as a negative signalMarking junk leads in the customer-service tool and feeding that back to MetaSuppresses delivery to lookalikes of bad leads. Almost no Vietnamese advertiser does this.
Status-triggered messagesRenewal and trial-expiry messages driven by the same state change that emits the eventOne rule set instead of separate campaign tooling. Renewal is already the top topic in the official account.
A declared attribution windowFLYER's window must be longer than seven days, since a trial runs seven days and a school decision takes weeksWithout a stated window, marketing and finance will keep producing different numbers for the same campaign.
Webhook with idempotent handlingOne internal endpoint that accepts these events, deduplicates them and forwards to Meta, the data warehouse and the dashboardsPancake suspends webhooks that fail too often and tells integrators to expect duplicates. The same discipline applies internally.

The minimum useful version is three events, not thirty: lead qualified, trial activated, and paid, each carrying the phone number as the join key and the campaign identifier where one exists. That is enough to change how campaigns are optimised, and it is a week of work rather than a platform project.

5How they track and improve the product itself

The obvious assumption is that a company with this retention runs a heavy product-analytics stack. It does not appear to. On 19/09/2026 the login page, the point-of-sale app and the chatbot site were loaded in a real browser and every outbound request was recorded. Nothing product-analytical came back.

Looked forFound on Pancake's own surfaces
Mixpanel, Amplitude, PostHog, Heap, JuneNone
Session replay: Hotjar, FullStory, Clarity, LogRocket, SmartlookNone
In-app messaging and surveys: Intercom, Crisp, Zendesk, FreshchatNone
Error monitoring reaching a third partyNone observed
Analytics of any kindGoogle Analytics and Tag Manager on the login page, Google Analytics and the Meta pixel on the chatbot marketing site. The point-of-sale app loaded nothing at all beyond fonts.

Limit of this check: only surfaces reachable without an account were observed, and first-party telemetry sent to Pancake's own domains would be indistinguishable from ordinary application traffic. The claim is narrow. No third-party product-analytics tool is loaded where a visitor can see it, and the two tags that do exist are marketing tags on marketing pages.

Why they can get away with it

A product-analytics tool exists to answer one question: is this account actually using the thing. Most software has to infer that from clicks, because the software itself holds no record of the customer's work. Pancake holds all of it. Conversations, orders, stock movements, customer records, staff assignments and payments are the product's own tables. Whether a shop is alive, growing or drifting away is a query, not a tracking plan.

That single fact reshapes everything else, and it is the mechanism behind the retention.

1 · Free tools bring the shop in 2 · The shop's daily work becomes data inside Pancake 3 · That data is turned back into a management surface 4 · The owner starts running the team on those numbers 5 · Leaving now costs three things at once Point of sale, chatbot, landing pages, customer record, team chat, books. Only the inbox is paid. Conversations, orders, stock, customers, payments. No tracking code needed: the work is the record. Response time per person, reply share, phone numbers captured, orders closed, customer rating. Shifts, assignment rules, targets, bonuses. Pancake becomes the management process, not the inbox. The history, the way the team works, and months of ad training fed back to Meta. the free tools keep pulling data in

Step three is where the retention is actually made. Everything above it is distribution; everything below it is consequence.

What they measure, and who it is for

The reports inside Pancake are not about Pancake. Every one of them measures the shop's own operation, which is why the owner opens the tool daily even when no customer is waiting.

ReportWhat it showsWhat the owner does with it
StaffAverage response time per person, counted only inside declared working hours, the five fastest, and each person's share of all repliesRanks the team, sets shifts, finds who is slow
Staff, continuedPhone numbers brought in, credited to the last person who replied and never counted if the customer volunteered the number first, plus orders closedPays commission on a number the system produced, not a claim
RatingCustomer satisfaction on three levels, attributed to the individual who handled the conversationHandles complaints, rewards good service
TagsAttach and detach counts per tag per day, with the exact time of each changeSees what customers ask about as it shifts
InteractionMessages and comments by hour of dayStaffs the peak, times the ad budget
AdsConversations, phone numbers and orders from each campaign, within seven days of the clickDecides what to keep running
Call centreCalls in and out, answered rate, talk time, orders closed per successful callManages the telesales floor

Notice how carefully two of those definitions are drawn. A phone number is credited only when a staff member's reply produced it. A response-time average ignores the hours the shop is closed. Those rules exist because the numbers are used to pay people, and a metric that decides pay gets scrutinised in a way a dashboard metric never does. That scrutiny is free product feedback.

How the product actually improves

With no analytics stack, the input has to come from somewhere. It comes from support and from a public user group, and it turns into small releases at a rate most teams would find uncomfortable.

What comes in What gets built What goes out Support, claimed 24/7 A public Facebook group Meta and TikTok roadmaps Queries on the shop's own data One specific friction at a time Search a call by customer name. Connect Telegram. Show webhook history. Add Chinese. A dated public changelog July to September 2026: 25 release days, 47 items shipped every shipped fix is announced to the same users who asked for it

The changelog is public and dated. In September 2026 up to the 18th there were nine release days carrying nineteen items; August had ten days and fourteen items; July had six days and fourteen. Two to three release days a week, every week, each one a small named improvement rather than a quarterly feature. Nothing on that list would appear on a roadmap. All of it removes a specific annoyance somebody complained about.

The levers that hold customers, ranked by how hard they are to copy

LeverHow it worksEffort to copy
Operational data as the recordThe customer's work lives in the product, so usage needs no instrumentation and leaving means losing historyArchitectural. Decided once, early.
Metrics that decide payCommission and shift decisions are made from in-product numbers, so managers depend on them dailyLow. Mostly a definition problem.
Free satellitesEach free product moves another table into the accountHigh. Six products to build and support.
Six-month prepaymentRenewal is a twice-yearly decision, not a monthly oneLow. A packaging choice.
Ad signal accumulated over monthsSwitching resets the conversion history that made campaigns cheaperMedium. Requires the loop in section 4.
Near-daily shipping on user complaintsThe gap between complaining and seeing a fix stays short, so people keep complaining instead of leavingLow to build, hard to sustain.

What FLYER should take, and what it should not

Two of these transfer directly, one does not.

  • Take the health query instead of a tracking plan, where the data already exists. FLYER knows whether a teacher assigned work, whether a class submitted, whether a school's students logged in this week. A teacher and school health score built from those tables answers the retention question without a single new event, and it can be built this quarter.
  • Take the idea of metrics people are paid on. The reports FLYER shows a centre today describe children's progress. The ones a centre's owner would open daily describe their teachers: who assigns work, whose classes finish it, whose parents renew. That is the number that makes the tool part of how the centre is run.
  • Do not skip product analytics. Pancake can live without it because its users are paid to be in the product all day and because money changes hands inside it. FLYER's learners are not paid to be there, usage is voluntary and the paying parent is not the user. Where behaviour is discretionary, clicks carry information the order table never will. The lesson is not to avoid instrumentation; it is to stop instrumenting what the database already knows and spend that effort where behaviour is genuinely invisible.
One honest caveat Pancake publishes no retention or churn figure, and none was found in any public source. The stickiness described here is structural and observable in how the product is built. It is not a measured number, and it should not be quoted as one.

6How the money works

PlanPagesStaff seatsPrice per 6 monthsPer month
Small13550,000đabout 92,000đ
Standard331,100,000đabout 183,000đ
Business6102,180,000đabout 363,000đ
Extra seat20,000đ per staff per month; extra page priced per month with one seat included

Plan prices from third-party listings, since pancake.vn renders them with JavaScript; the site itself advertises "from 3,000đ a day", which matches the Small plan.

Five design choices stand out.

  1. Charge for the chokepoint only. The inbox is where the seller feels pain every hour; that is the one thing billed. POS, chatbot, landing pages, CRM and accounting are free, and each one moves more of the seller's data into the account.
  2. Price on units the customer already counts. Pages and staff are how a shop owner already thinks about size. When the shop grows, the bill grows without a sales conversation. There is no per-message or per-conversation fee on the core product, so heavy use never feels punished.
  3. Prepay six months. The default term is six months, which funds the free products and removes monthly churn decisions.
  4. Usage fees only on marginal cost. WhatsApp template messages and OpenAI tokens are billed at cost through a prepaid wallet in USD. Pancake does not mark up the thing it cannot control.
  5. Enterprise by contract, not by tier. Large accounts such as Yody or FPT Shop are served under custom plans and become success stories; the public price list stays simple for the 260,000 small sellers.

7Why it works

It owns the moment where Vietnamese commerce happens

Vietnam is Meta's leading market for business messaging in the region, and Messenger is the first inquiry channel during live streams. Pancake sits exactly at that moment, and its chief executive reports clients putting 60 to 70 percent of marketing budget into messaging. A tool that manages the moment where money is made is bought before any other tool.

Data gravity from free products

Every free satellite adds a table to the account: orders, stock, customers, staff tasks, books. Leaving the paid inbox means leaving all of it. This is the same play as Google Workspace or HubSpot's free CRM, executed at Vietnamese price points.

The loop back to the ad platform

Sending order events back to Meta and Google as conversion signals is the feature Pancake puts first on its POS page and the one Meta cites when it names Pancake and Haravan as partners it works with on "lower funnel signals". It aligns Pancake with the platform's own goals, which is why Pancake gets early access, summit stages and awards, and why sellers see their ad cost fall the longer they stay.

Free distribution before monetisation

The product was free for its first three years and the company was registered only after the user base existed. Sellers recommended pages.fm to each other in Facebook groups; the company still runs its main support in a Facebook group.

AI positioned as staff assistance, then screening

The inbox AI assistant suggests a reply, detects sentiment and lets staff accept with Tab and Enter. Botcake AI screens the first messages and hands over when intent appears. Mai Hồng Phong describes the outcome as staff stepping in "only when purchase intent becomes clear". The AI does not replace the seller's voice; it removes the waiting.

Shipping speed and documentation

The changelog is public, the docs cover eight products in Vietnamese and English, and the OpenAPI file carries a note telling AI agents to read the YAML instead of scraping HTML. That is an unusually modern developer stance for a Vietnamese SME tool and it made FLYER's own integration in September possible in a day.

8Where it falls short

  • Built for retail, not for services or education. Default tags are "Kiểm hàng, Mua hàng, Hết hàng, Trả hàng". FLYER's pages still carry those. Loyalty, stock and carriers mean nothing to a school or a language centre; the CRM has no notion of a student, a class or a renewal date.
  • Offline retail is weaker than KiotViet or Sapo. Third-party reviews rank Pancake POS first only when most revenue is online.
  • Personal Zalo is a grey zone. Pancake connects staff's personal Zalo accounts by QR code. It works, and for FLYER it carries 76 percent of all conversations, but it runs outside Zalo's API and the account can be locked. The proper channel is Zalo OA, which Pancake also supports.
  • Opaque pricing and single-page-app docs. The price list needs JavaScript to show numbers; the docs cannot be read without a browser. Both are minor, but they contradict the open-API stance.
  • API rough edges. The conversation endpoint requires both since and until in unix seconds, silently returns nothing on ISO dates, rejects windows over one month, ignores page_number on v2, invalidates the page token when regenerated, and rate-limits early. All of this is recorded from FLYER's September pull.
  • Customer counts are not audited. 260,000 businesses likely counts connected pages or accounts. Paid customers are not disclosed.

9Lessons for FLYER as a Pancake customer

FLYER already runs 23 channels through Pancake: 9 Facebook pages, 1 Zalo OA and 13 personal Zalo accounts. The August 2026 data pulled through the API shows the platform is doing the collecting but FLYER is not using the parts that make Pancake valuable.

Conversations, Aug 2026
7,012
558 waiting for a reply (7 percent)
Through personal Zalo
76%
2,456 phone numbers, 28 times Facebook
Teado page, median first reply
161 min
36 min in office hours, 513 min outside; half of inbound arrives outside hours
Gap seen in the dataPancake feature that fixes itExpected effectEffort
Flyer.us page shows 0 conversations and a warning; six Cambridge pages produced one conversation in six weeksReconnect the page; retire or merge the five keyword-stuffed pagesStops silent lead loss; fewer pages, lower planHours
Tags are the retail defaults; only one custom tag, used 26 timesReplace with a CS tag set (trial, renewal, pricing complaint, bug, school lead) and turn on tag statisticsWeekly report on what customers actually ask, which feeds the answer bankOne day
40 percent of Teado conversations open with one of eight Messenger preset questions; 61 percent are answerable by script; median reply 161 minutesBotcake flow for the eight presets and the short "Tư vấn / Quan tâm" openers, with a phone request stepFirst reply under a minute for most of inbound; phone rate on preset openers from 3 percent toward the 22 percent seen on the Phòng Thi Ảo page, whose bot already asks for a numberOne week
Zalo OA bot rejects 21 percent of phone numbers as invalid, including correct onesFix the flow: extract ten digits by pattern, leave the phone state when a menu button is pressedRecovers roughly 40 of 400 sampled conversations that ended with no numberOne day
Renewal is the top topic on the OA and the bot only promises contact within 12 hoursVietQR payment in chat via the existing backend endpoint, or POS payment QRRenewal closed in the conversation; rough estimate in the 09/09 analysis is tens of millions of đồng a month, to be checked against the CRMTwo weeks
Messaging ads: 230 conversations, 19 phone numbers, about 371,000đ per number, nine times a Teado lead-form leadSend qualified-lead events back to Meta through Pancake's signal sync instead of optimising for messagesAds optimise toward people who leave a number and book a demo, not people who click a preset questionTwo weeks, with marketing
Staff answer by hand from memory; no shared answer bankTurn on the AI assistant (suggest mode, prepaid wallet) and the quick-reply library for the CS teamConsistent answers, shorter replies outside hours; cost is tokens at Pancake's Balanced rate, about 1.3 USD per million input tokensOne day plus the answer bank

None of this needs a new tool. It needs the platform FLYER already pays for to be configured the way its best customers configure it. The cs-flow page on funnel.flyer.vn already lays out the three-layer plan; this table is the order to do it in.

10Lessons for FLYER as a product company

These are the mechanisms behind Pancake's growth, restated as questions for FLYER's own product family: flyer.vn, teacher.flyer.us, Study, Exam, IELTS, Teado, Trường Số and the LMS.

Find the chokepoint and bill only there

Pancake bills the inbox because that is where a seller feels the hour-by-hour pain. For a teacher the equivalent is the assign-and-grade loop; for a parent it is the exam result; for a school it is renewal and reporting. FLYER prices per student per year, which is easy to compare with a textbook and hard to grow. The Pancake question is which single workflow the customer would pay for every month, and whether everything around it (the parent app, the library, the placement test) should be free to pull data toward that workflow.

Price on units the customer already counts

Pages and seats are legible to a shop owner. For a centre the legible units are classes and teachers, not students; for a school they are campuses and teachers. A per-class or per-teacher plan with a student allowance would grow with the customer without a renegotiation, the way an extra Pancake page does. This is worth a pricing study before the next B2B renewal season.

Send the signal back

Pancake's most defensible feature is the order event returned to Meta and Google. FLYER runs lead-form ads, then a CRM, then a trial, then a payment, and none of those later events reach the ad platform. Sending "trial activated" and "paid" from the CRM back to Meta as conversion events would let the campaigns optimise for buyers instead of form fills. The 09/09 analysis found 79 percent of phone numbers come from lead forms; a signal on the step after the form is the cheapest lever on cost per paying customer that FLYER has not pulled.

One account, one wallet, one customer record

Seven Pancake products share one login and one prepaid balance. FLYER's products carry separate accounts, separate admin panels and separate payment flows; the domain inventory lists dozens of hostnames. A single FLYER account with a wallet that any product can draw on (AI grading credits, exam attempts, Teado seats) is the structural change behind Pancake's "free satellites" strategy, and it is a prerequisite for the enterprise architecture work already in the PRD.

Free distribution before monetisation

pages.fm was free for three years and grew through seller groups. FLYER's free teacher tier is the equivalent and it already reaches most of the 1,131 active teachers who assign work. The Pancake lesson is to keep that tier generous, instrument it, and let the paid product be the thing teachers ask for rather than the thing they are blocked by.

Ride the platform's goals

Pancake's expansion into the Philippines, Thailand, Cambodia and Laos follows Meta's regional partner events rather than its own marketing spend. FLYER's Spanish-language and Malaysian market work would move faster attached to a platform with regional reach, whether Cambridge English, Google for Education or a national LMS programme, than as a standalone launch.

AI that assists first

Pancake ships the AI assistant as suggestions the staff member accepts, and only then as an agent that screens. FLYER's Trợ giảng AI and the planned Bingo Bot follow the same order: suggest to the teacher, screen for the CS team, hand over when intent or difficulty appears. The 60 to 70 percent budget figure Mai Hồng Phong quotes is a reminder that the AI's job is to shorten the wait, not to replace the person the customer wanted to talk to.

Public docs, public changelog, public case studies

Pancake documents eight products, publishes a changelog and lists nine success stories including an education company (ILA). FLYER's partner API for schools and the /whats-new page are steps in this direction. A public docs site for the LMS integration API and two or three named school case studies would cost a sprint and change how procurement conversations start.

11Proposed next steps

WhenWhatOwnerMeasure
Next two weeksReconnect Flyer.us page, prune the five empty Cambridge pages, replace retail tags with the CS tag set, fix the OA phone-number flow, turn on AI assistant suggest mode for CSCS lead with marketingWaiting conversations under 3 percent; invalid-phone rejections under 5 percent
By mid-OctoberBotcake flow for the Teado presets with a phone request; VietQR renewal in the OA conversation; qualified-lead conversion events sent to MetaMarketing with one developerMedian first reply under 5 minutes; phone rate on preset openers above 15 percent; cost per qualified lead versus the August 371,000đ baseline
This quarterPricing study on per-class or per-teacher units for centres; scope a single FLYER account and wallet as part of the enterprise architecture PRD; draft the public LMS API docsProductDecision memo for the next B2B renewal season
OptionalAsk Pancake to publish FLYER or Teado as an education success story; it costs nothing and puts FLYER in front of 260,000 sellers, some of whom run centresMarketingPublished case study

12Sources


Related: CS automation plan · Meta Ads dashboard · Enterprise architecture PRD · PRD index · Roadmap

Stride, the biggest company in education software that is not a software company

Stride earns $2.5bn a year, more than any product in the G2 education category, by running public schools for the American states that pay it roughly $10,000 per enrolled child. It is a teaching and logistics business wearing a technology label, and in the year just reported the model started to strain.

Key facts, origin and limits
Company teardown
Listing
NYSE: LRN, since 12/2007
Revenue
$2,518.1M, FY ended 06/2026
Net income
$338.2M, 13.4% margin
Students
243,900 average
Share price
$75, down from $155 in a year

Written on 30/09/2026 after the question "phân tích Stride công ty", following the revenue research at Edtech Revenue Check where Stride came out largest of the 71 products examined.

Financial figures come from Stride's FY2026 Form 10-K filed 05/08/2026, its quarterly earnings releases, and the 8-K announcing the change of chief executive. Criticism of academic outcomes comes from named research institutions and named newspapers, not from advocacy groups. Allegations that no court or regulator has upheld are labelled as allegations throughout, and the company's own answer is given next to each one.

Several things are structurally undisclosed and are marked where they matter: margin by line of revenue, marketing cost per new student, and the student retention rate.

1What Stride actually is

Stride calls itself "a technology company providing an educational platform". Its income statement disagrees. Sixty-two percent of revenue goes on instructional costs and services, meaning teacher payroll, learning kits, student laptops and school administration. It employs about 9,200 people and manages roughly 9,600 teachers, of whom 5,900 are on its own payroll.

What it sells is a school. A state or a charter board wants to offer online public education and does not want to build it, so Stride supplies the entire thing: the online school and its lessons, printed materials posted to the house, a computer for each child, internet access and support, state-certified teachers, and the administration needed to run the institution. In the 2025 to 2026 school year that bundle ran 92 general education schools across 31 states and the District of Columbia, plus 57 career-focused schools and programmes in 25 states.

The chain the money travels down

The state The school Stride pays per enrolled child out of public education funds a non-profit charter board or a school district books about $9,914 per student per year teachers · curriculum · laptops · administration flow back Stride cannot own the school Most states require an independent non-profit board that keeps ultimate control

That last constraint shapes everything. Stride is legally a vendor, and the board it serves can replace it. Contracts average more than five years and renew automatically unless someone gives notice, which is comfortable until the year a board decides not to renew.

2Two accounting mechanics worth understanding

Two features of the contracts do more to explain Stride's economics than anything in its product line.

Stride absorbs the schools' losses

It has "generally agreed to absorb any operating losses of the schools" and guarantees that certain managed schools will not run an annual deficit. When a school loses money, the loss comes off Stride's own revenue. That cost $17.2M in FY2026, after $14.5M and $17.0M in the two prior years. If a school enrols a child the state will not fund, Stride carries it.

A quarter of revenue is pass-through

Because Stride is responsible for the schools' expenses, it records those expenses as revenue and as cost simultaneously. That gross-up was $683.6M in FY2026, or 27.1% of reported revenue, carrying no margin at all. Anyone comparing Stride's revenue with a software company's is comparing a number that includes a quarter of pure pass-through.

3The numbers, and what they hide

FY ended 30 JuneFY2026FY2025Change
Revenue$2,518.1M$2,405.3M+4.7%
Instructional costs and services$1,567.5M$1,461.4M+7.3%
Gross margin37.8%39.2%−1.4 pts
Operating income$450.8M$360.1M+25.2%
Net income$338.2M$287.9M+17.5%
Adjusted earnings per share$8.33$8.10+2.8%
Cash and securities$1,034.1M—$188.7M bought back

The 25% jump in operating income is mostly an illusion created by the comparison. FY2025 carried a $59.5M writedown of Galvanize, the coding bootcamp bought in 2020. Strip that out and operating income grew 6.9%, while adjusted earnings per share grew 2.8%. Costs grew at 7.3% against revenue at 4.7%, which is why gross margin fell.

Two balance-sheet details are worth noting. Receivables reached $664.8M, or 26.4% of revenue, up by $105.1M, which is why operating cash flow stayed flat at $433.8M even as net income rose $50.3M. And the student laptop fleet is financed through leases, $117.0M of them outstanding, which keeps the hardware out of capital expenditure and flatters free cash flow relative to buying the machines.

4The old business is shrinking and the new one is cheaper

Line of revenueFY2026ChangeStudentsRevenue each
General Education$1,417.8M−2.1%134,200$10,243
Career Learning, middle and high school$1,043.7M+19.1%109,700$9,512
Career Learning, adults$56.6M−29.6%——

The headline is that Career Learning grew 15% and now makes up 43.7% of revenue. The detail is less flattering. Career Learning is not a separate business; it is career pathways in technology, healthcare and business bolted onto the same virtual school, sold to the same charter boards. It earns 7% less per student than general education, and because it concentrates in middle and high school, where teaching costs more, the shift is probably diluting margin rather than improving it. Stride reports as a single segment and publishes no margin by line, so this cannot be confirmed either way.

Two further cautions. Part of the general education decline and the career learning rise is the same children being reclassified when they enter a pathway, and Stride acknowledges this without quantifying it. And the adult business bought in 2020 is collapsing, from $99.7M to $56.6M in two years, with the Galvanize writedown already taken.

5What broke in 2026

Full-year revenue rose 4.7% but the fourth quarter fell 2.7%. The cause was the shape of enrolment through the year rather than a collapse in demand. In FY2025 Stride built enrolment from 222,600 to 235,300 across the four quarters. In FY2026 it bled from 247,700 down to 234,200, so the year-on-year comparison decayed quarter by quarter until it turned negative.

The origin was self-inflicted. Stride rebuilt its enrolment platform over the summer of 2025 and the rollout went badly, costing an estimated 10,000 to 15,000 students through higher withdrawals and worse conversion. Stride then closed enrolment windows early to protect margin, which capped the damage and guaranteed a weak fourth quarter. Capitalised software spending jumped 69% to $61.6M in the same year, which is the rebuild itself appearing in the accounts.

DateEventShare priceMove
29/10/2025FY2026 guidance of $2.48bn to $2.56bn against about $2.67bn expected$70.05−54% in one day
30/07/2026Chief executive replaced, days before results$83.07−15%
05/08/2026FY2026 results, near the top of the narrowed guidance$82.58+2.6%
29/09/2026Latest, against a 52-week high of $155.06$75.21—

Stride delivered what it promised in October 2025. The problem was the promise. James Rhyu left after five years as chief executive on 29 July 2026 and was replaced by Robert Knowling, a director of eight years; Steven Fink, who has been connected to the company since the Milken era that funded it, became chairman. No revenue outlook for FY2027 has been published yet.

6The part that decides the company's future

This is the uncomfortable section and it cannot be skipped, because the accountability question is now the business risk.

In 2015 Stanford's Center for Research on Education Outcomes, with Mathematica and the University of Washington, studied about 200 online charter schools and 200,000 students across 17 states. Matching each online student to a statistically similar student in a traditional school, it found online students lost the equivalent of 72 days of learning a year in reading and 180 days in mathematics. In no state did online charters beat traditional schools in both subjects. A follow-up study in 2023 found virtual charters still negative, in the same years that brick-and-mortar charters were outperforming. Separately, researchers at the University of Colorado put the graduation rate at full-time virtual schools between 55% and 65%, against roughly 85% nationally.

Stride's answer has real force. Proficiency and four-year graduation rates measure where a student is, not how far they moved, and they penalise a school that takes in children who arrive behind and move house often. Stride points to a much higher share of special-education students and to commissioned growth research. What that answer does not do is rebut the CREDO design, which matched students on prior achievement precisely to remove that objection.

The concrete cost arrived in June 2026 Roscoe Collegiate Independent School District, a West Texas district of about 700 pupils, declined to renew its contract for Lone Star Online Academy, a virtual school of roughly 12,000 students, after the school received an F from the Texas accountability system every year since it opened. The district's own accreditation was at risk while its physical campuses rated A and B. The school closed on 30 June 2026, taking with it about 5% of Stride's enrolment, and the shares fell as much as 13% on the news. Academic ratings are no longer a reputational matter for this company. They are a contract-termination trigger.

8A business whose revenue is set by legislatures

Stride's filings lead their risk summary with the admission that revenue "depend[s] on per pupil funding amounts and payment formulas remaining near levels existing at the time we execute service agreements". It then lists the levers a state can pull: caps on how many students a virtual school may have, rules requiring a child to have attended a physical school first, grade-level restrictions, geographic limits, minimum shares of funding that must go to teachers, limits on how many charters exist, approval from the child's home district, attendance rules designed for classrooms, and minimum face-to-face teaching time.

StateRecent changeDirection
PennsylvaniaThe state auditor found five cyber charters had grown revenue from $473M to $898M and were holding $619M in reserves. The House passed an $8,000 tuition cap that would have cut payments by $616M. The enacted budget instead expanded deductible expenses, worth about $178M officially and nearer $300M according to operators, and added weekly student wellness checks.Negative
TexasA law signed in May 2025 finally gave virtual schools the same per-student funding as physical ones, and brought them fully into the A to F accountability system.Mixed, and the accountability half just closed a school
KentuckyThe state board tried to cap virtual enrolment at 10% of a district, which would have closed Stride's school there. Legislators barred such caps until 2028.Positive
New MexicoThe funding formula for virtual programmes was rewritten in 2026 after the Gallup-McKinley dispute.Negative

9Who else does this

Stride is the clear leader with roughly 35% of the managed virtual charter market. The interesting competition is not the obvious kind.

  • Pearson's Connections Academy is the only rival at comparable scale, with over 100,000 students across 40 or so schools. Pearson reported its virtual enrolments up 13% for the autumn of 2025, in the same season Stride's platform failed. One competitor gained precisely what the other lost.
  • Schools that learn to run themselves are the structural threat. Commonwealth Charter Academy in Pennsylvania, with 20,355 pupils, is self-managed. Agora, once Stride's flagship school, went the same way. Stride's own filings name the risk: a customer can "transition to a self-managed school by inviting competitive alternatives to portions of the products and services now provided entirely by us".
  • Accel Schools was founded by Ron Packard, who founded Stride itself and left in 2014.
  • Courseware vendors such as Edgenuity, Edmentum and Apex sell the components, which is how the unbundling begins.

10What FLYER should take from this

  1. The biggest revenue in education comes from operating schools, not from selling software. Stride earns more than Canvas, PowerSchool, Blackboard, Docebo and D2L combined. It does so by taking on teachers, laptops and liability, which is why its gross margin is 37.8% rather than the 70% or 80% a software company would expect. Revenue scale and business quality are different things.
  2. Being paid per student by a government is a powerful engine and a permanent dependency. Ten thousand dollars a child, paid automatically, produced a $2.5bn business. The same mechanism means a legislature in Harrisburg can cut hundreds of millions of revenue in a budget session, and a single district in West Texas can end a school of 12,000 children.
  3. Measured learning outcomes eventually become a commercial risk. For a decade the CREDO findings were an argument. In June 2026 they became a contract termination. FLYER sells against a genuine external benchmark in the Cambridge exams, which is an asset rather than a liability, and worth treating as one: a provider that can show real results survives the moment when the state starts measuring.
  4. A failed platform migration can cost more than a competitor ever will. One bad summer rollout cost Stride 10,000 to 15,000 students and half its market value. No rival did that to it.
  5. Watch which way the students are actually moving. Stride's growth line and its shrinking line serve the same children through the same schools, and part of the difference is reclassification. When FLYER reports growth by product, the same question applies: is that new demand, or the same learners counted in a different column?

Sources: Stride FY2026 Form 10-K filed 05/08/2026, quarterly earnings releases and the 30/07/2026 chief executive 8-K, all on SEC EDGAR · CREDO at Stanford, National Study of Online Charter Schools 2015 and National Charter School Study III 2023 · National Education Policy Center, University of Colorado, Virtual Schools in the U.S. · Pennsylvania Auditor General, February 2025 · reporting by The New York Times, NBC News, the Houston Chronicle, Texas Standard, Chalkbeat, Spotlight PA and Source New Mexico · Related: Edtech Revenue Check