Zuzlan HelpCrunch UTM cover with a provided CRM view of campaign, medium, source and messenger columns.

Software

Odoo CRM: Telegram & Viber Attribution with GA4

Bring Telegram and Viber campaign data into Odoo CRM through HelpCrunch, with GA4 matching for missing UTM data and priority for known lead information.

Added

Messenger campaign data in Odoo CRM

Zuzlan HelpCrunch UTM is a custom Odoo add-on for a Telegram and Viber enquiry workflow connected through HelpCrunch. It brings incoming campaign parameters into the lead record and uses Google Analytics 4 to look for likely campaign matches when direct UTM data is missing.

This continues the work of Zuzlan Messenger UTM, the WordPress plugin that adds saved campaign tags to messenger links. The Odoo add-on handles the receiving side. Advertising source and messenger remain separate: a lead can come from Google advertising and contact the business through Viber.

Read Telegram and Viber UTM parameters through HelpCrunch

Telegram bot start messages and Viber chat-start events carry their parameters differently. The add-on handles both formats and uses existing integration identifiers to connect a HelpCrunch chat with the corresponding Odoo conversation and lead.

Incoming source, medium and campaign values populate the standard Odoo UTM fields. Each field keeps its latest non-empty value for the relevant open lead; missing parameters do not erase saved values. Old webhook events are prevented from restoring outdated campaign data. A new click can only update the lead if the messenger and HelpCrunch actually deliver the new parameters.

Use GA4 when campaign tags are missing

The add-on queries the Google Analytics Data API through the project's existing GA4 integration. It checks recorded messenger-link clicks against the configured bot or business account, click time, known campaign values and competing lead matches. It selects the nearest compatible earlier click within a four-hour window before lead creation, taking account of clicks already used.

GA4 matching is probabilistic: a compatible click is a likely association, not proof of a person's identity. Ambiguous candidates with different campaigns at the same time are deferred. Reliable direct matching would require a shared unique identifier across the website, messenger and analytics. The relevant click and campaign data must be available in GA4.

Retry checks while preserving known lead data

New leads can be checked in the background without delaying incoming messages. When GA4 data is not available yet, the queue retries frequently at first, then at longer intervals, for up to 30 hours after lead creation. Successful matches stop further retries. Google controls when its reporting data becomes available; the add-on cannot make that processing faster.

Inferred GA4 values fill missing information without overwriting populated fields. Explicit UTM data and manual corrections take priority. Won deals are protected from automatic attribution changes, and archived leads can receive a missing campaign without being reopened.

Built for an existing Odoo installation

The commissioned implementation targets Odoo 15 and extends the existing HelpCrunch and GA4 integrations as a separate add-on. It uses Odoo's inheritance mechanism without editing the core or the existing integration modules. Compatibility with another installation or a newer Odoo release needs a separate review.

A messenger UTM tab in the lead form brings together campaign values, messenger information, GA4 matching details and retry status. The provided image shows a CRM list view with campaign, medium, source and messenger columns.