Article summary
Interpret Zalo user ID, activity time, nickname and active days without converting a platform snapshot into intent, identity or permanent customer value.
Zalo Activity Checking is useful only when every returned field keeps its timestamp and meaning. “Recently active” can support limited operational timing inside a permitted audience. It cannot establish purchasing intent, response probability or a person’s long-term value.
Start with the actual output schema
AIPUSH Zalo Activity may export phone, user ID, activity time, nickname and active days. Registration is a separate task returning phone and registration status. Do not describe activity output as a full profile or promise fields outside the selected service.
Create a field dictionary before segmentation
| Field | Working meaning | Key limitation |
|---|---|---|
| phone | Submitted task key | May be shared or stale |
| user ID | Observed platform identifier | Not legal identity |
| nickname | Visible label at check time | User-editable |
| activity time/days | Timestamped activity observation | Decays |
Normalize Vietnamese phones before the task
Preserve the original string and create an international candidate only under a current +84 numbering rule and explicit country evidence. Separate foreign phones, local ambiguity, duplicates and malformed rows. Do not infer Vietnam residence from +84 alone.
Upload a minimized TXT
The file contains one phone per line, without name, order, language or consent. A private crosswalk retains customer ID, provenance and batch row. The Excel output first enters staging and rejoins through the crosswalk instead of assumed row order.
Segment by freshness, not personality
Define a small number of operational buckets such as current, aging, expired and unknown. Version the thresholds and stop using a record after expiry. Avoid labels such as “high spender,” “loyal” or “ready to buy,” which activity data cannot support.
Make nulls visible
A missing activity time is not “inactive.” Report returned, null, exception and mapping-conflict denominators by acquisition source. If a channel has systematically more unknowns, limit comparison rather than downgrading its contacts.
Permission decides whether contact is possible
Before any message, check source, channel, purpose, consent and suppression. Activity can help schedule an already authorized service touch; it cannot resurrect an opt-out or convert a third-party list into a sendable audience.
Expire and delete observations deliberately
Store checked_at and delete_after. Recheck only a small cohort near a real decision while the purpose remains valid. This prevents a temporary platform snapshot from becoming an unbounded behavioral history.
