Article summary
Use Zalo Activity Check as a dated CRM signal, not proof of purchase intent. Learn TXT preparation, Excel fields, reconciliation, and explainable segmentation.
Zalo Activity Check does not identify “high-value buyers.” The service exports Phone, User ID, Activity Time, Nickname, and Active Days. These describe platform-related signals returned by a task; they do not prove budget, purchase intent, permission, or a guaranteed reply.
For a Vietnamese customer workflow, activity data can help review an existing lawful list and sequence service work. Value still comes from inquiries, orders, lifecycle stage, and permission evidence.
Direct answer: store Zalo activity results as a dated platform-state layer, then combine them with permission, customer relationship, and observed business behavior. Never rename “recent activity” as “high value.”
What Zalo Activity Check returns
| Field | Supported interpretation | Unsupported inference |
|---|---|---|
| Phone | Input and reconciliation key | Verified identity |
| User ID | Platform identifier returned by the task | Permission for cross-system tracking |
| Activity Time | Task-provided activity field | Online now |
| Active Days | Relative grouping within a batch | Fixed reply probability |
| Nickname | Platform-related display field | Legal name |
| checked_at (internal) | When the snapshot was produced | Permanent state |
Define the business question first
| Question | Need Activity Check? | Additional evidence |
|---|---|---|
| Which existing customers should be reviewed first? | Possibly | Current permission and lifecycle |
| Which phones are registered? | Not necessarily | Use Zalo Registration Check |
| Who will buy a high-ticket product? | Cannot answer alone | Inquiry, budget, order, human judgment |
| Is the list formatted correctly? | Clean first | Country evidence and exception rules |
| May a promotion be sent? | Cannot answer | Channel permission and applicable rules |
Five-step Zalo activity workflow
- Establish provenance: use phones from traceable CRM, order, store, or customer-submitted records.
- Normalize: preserve phone_raw and transform only from country evidence.
- Create TXT: UTF-8, one phone per line, without profile columns.
- Run the task: select Activity Check in the AppShai Zalo Number Checker.
- Review Excel: reconcile Phone, User ID, Activity Time, Nickname, and Active Days; add batch ID and checked_at.
Input is TXT only; output is Excel. The internal workbook is useful for cleaning and import, but should not be uploaded as the task file.
CRM import model
| Group | Recommended fields | Rule |
|---|---|---|
| Master key | contact_id, phone_normalized | Never rewritten by the task |
| Platform state | zalo_user_id, activity_time, active_days | Preserve field meaning |
| Task governance | zalo_checked_at, batch_id, result_state | Allow unknown and error |
| Permission | zalo_opt_in_scope, opt_in_at, opt_out_at | Opt-out wins |
| Business value | lifecycle, inquiry_stage, order_value | Business-system evidence only |
Use three layers instead of one “value” label
| Layer | Examples | Permitted use |
|---|---|---|
| Data quality | Mapped, exception, unknown | Decide whether to review data |
| Platform activity | Recent, older, no reliable result | Sequence service review, not value inference |
| Business relationship | Inquiry, customer, support, opted out | Determine priority and scope |
A queue rule can be explicit: current permission + open inquiry + activity time inside the relevant business window. Every condition has a source and can be explained to an operator.
Phone-format issues in Vietnamese cohorts
Local notation, international notation, trunk prefixes, copied spaces, and multiple representations of one phone can contaminate a batch. Never infer the country from a name. Normalize only with country evidence, deduplicate the normalized value, and keep the raw value plus transformation log.
| Issue | Risk | Treatment |
|---|---|---|
| Unresolved local prefix | Unstable match | Apply a confirmed country rule |
| Mixed countries | Wrong calling code | Split by source |
| Multiple forms of one phone | Duplicate count | Deduplicate after normalization |
| Spaces, punctuation, comments | Task exceptions | TXT contains phones only |
| Unknown country | Corrupted phone | Mark unknown and review |
Measure actual value
- Result mapping and exception rates.
- Current Zalo permission coverage.
- Observed reply rate by activity group, not a promised rate.
- Defined service completion after routing.
- Opt-outs, complaints, and manual corrections.
- State changes at the next justified review.
Keep source, lifecycle, message purpose, and time window comparable. Otherwise a better result in the “active” group may reflect sampling rather than the signal.
Frequently asked questions
Do fewer active days mean higher purchase intent?
No. Active Days does not contain budget, need, or permission. Only controlled observation in a defined workflow can test whether the field helps that workflow.
Is Activity Check real-time online detection?
No. Interpret the exported field according to its name and checked_at; do not relabel it “online now.”
Should a record without activity be deleted?
No. Separate a negative signal, unknown, format error, and dated state before deciding what the CRM should retain.
Useful Zalo segmentation combines a dated platform snapshot with permission and business outcomes. It does not turn an activity field into a buyer-prediction shortcut.
