Article summary
Troubleshoot apparently conflicting TG Registration and Activity results through task scope, observation time, phone format, UserID mapping and missing-value semantics.
Different results for one phone in TG Registration and TG Activity do not automatically mean that one task is wrong. The tasks answer different questions and may run at different times. Number reassignment, normalization, missing-value handling and UserID mapping can all create an apparent contradiction. Reconstruct the evidence chain instead of overwriting one Excel workbook.
Confirm that the comparison concerns the same question
| Task | Main fields | Observation |
|---|---|---|
| TG Registration | Phone, registration result | Registration state in that run |
| TG Activity | Phone, UserID, username, offline time, active days, names, VIP and frozen state | Account and activity-related fields |
A blank Activity column is not interchangeable with a negative Registration result.
Step one: align observation time
Compare checked_at and batch_id. Account state may change, and a wider time gap makes a real temporal difference more plausible. Do not use today’s activity output to erase a registration observation from months ago; retain both with their dates.
Step two: return to phone_raw
Check whether both runs used the same country code, domestic trunk-zero treatment, scientific-notation protection and deduplication rule. Comparing only normalized phones hides upstream differences. phone_raw and normalization_rule must remain traceable.
Step three: inspect the join key
If phone, TG UserID and contact_id are mixed as join keys, the workbooks may be describing different records. One phone mapped to several UserIDs, one UserID found under multiple contacts or a changed mapping belongs in a conflict queue. Do not select the newest row automatically.
Step four: separate blank, unknown and error
- Blank: no value was returned for the field.
- Unknown: the task could not produce a definitive conclusion.
- Error: formatting or processing failed.
- Explicit false: the task returned a defined negative state.
Many apparent conflicts originate in an import script that converted the first three states to false.
Rerun only records with a documented reason
Classify differences as time, format, join collision, unknown/error or genuine state change. After correcting a transformation or import rule, rerun only the affected subset under a new batch_id. A full rerun can erase the diagnostic trail without proving that the defect was fixed.
Preserve evidence across TXT and Excel
AIPUSH accepts a one-phone-per-line TXT file and exports the fields for the selected task as Excel. Internally retain source-file hash, task name, row count, transformation rule and contact_id map. Names, orders and the whole CRM need not be uploaded. Load the return into staging before generating a comparison report.
Do not turn a technical reconciliation into a marketing conclusion
Even a phone confirmed as registered and recently active does not prove identity, purchase intent or permission. Telegram’s official Spam FAQ explains that unwelcome messages to strangers can still be reported and lead to restrictions.
Troubleshooting is complete not when two tables have been forced to match, but when every difference has a category, evidence, owner and disposition. Registration and activity are different observations by design; explainable differences are more valuable than identical numbers.
