A user clicks “Send”, the interface shows success, but the enquiry is not saved in the CRM. Analytics has already counted a conversion even though the team has received nothing. A retry may then count the same request a second time.
For a Mini App, distinguish interface actions, server acceptance and the business process outcome. The report can then show where the person stopped and which operation actually completed.
Define the result through the operational system
Write down what constitutes an enquiry: a saved request with required fields, an assigned handling route and an identifier. Clicking a button or opening a form are preliminary actions.
For a service appointment, the result may be a confirmed booking; for support, a created ticket. Each operation needs a system that gives final confirmation of its state.
Separate received and qualified enquiries. Service fit is assessed using separate criteria, as described in the article on qualifying enquiries with a bot.
Build events around the journey stages
Verify the user and result parameters
Protect measurement against repeated attempts
Connect submission attempts to one logical operation. Repeated clicks, reopening the Mini App and retrying after connection loss should not create a new enquiry without a reason.
Store the retry processing key and confirmed record identifier in the main system. Button-only protection does not cover repeated delivery of a network request or integration event.
Define uniqueness for the final metric: one created enquiry is counted by its identifier; one status transition by the record and specific change event. At the same time, a genuinely new enquiry from the same customer must remain in the report.
Reconcile analytics with CRM and status changes
Regularly compare confirmed events with main system records for the same period and time zone. Analytics events can also be lost, delayed or delivered repeatedly.
Assess server rejections, pending integration, created enquiries and completed operations separately. A booking cancellation or a ticket closed without resolution does not erase creation history but changes the final outcome.
Illustrative example. A user clicks twice because of a delay. The server returns one saved enquiry with the same identifier. Later, a manager confirms the service appointment. The report retains interaction attempts, one created enquiry and one confirmed booking: three distinct metric types.
Mini App connections to operational data are described in the article on customer portals and CRM. Show the enquiry source and subsequent statuses in the report without attributing the entire result to the channel merely because the app opened.
An analytics event record
- Business meaning and exact trigger time.
- Interface or server as the confirmation source.
- Record system and operational record identifier.
- Necessary parameters and excluded personal data.
- Uniqueness and retry processing rule.
- Errors, pending states, cancellation and subsequent statuses.
- CRM reconciliation, reporting period and data owner.
Discuss server logic, integration and measurement through the Telegram bots and Mini Apps proposal. Prepare records for the main operations: acceptance criteria should confirm the process outcome alongside the appearance of the success screen.