Define what each record represents

Separate contact, request and order. For technical delivery, use an event ID or external order ID. To merge contacts, agree on phone and email normalization. Don't delete a record just because the number matches: first find out if it contains a separate order or payment.

Continue with: Laravel API retries: prevent duplicate operations.

Check the reason for the repetition

Compare creation time, source, external ID, and integration logs. A duplicate can occur due to a repeated click, retry, two connectors or manual entry. Fix the cause at the appropriate level, not just cleaning CRM regularly. When merging records, keep the relationship between the master and the duplicate.

Continue with: Google Ads offline conversions: prepare your CRM data.

Reconcile reporting impact

Determine how duplicates impact your leads, sales, and offline conversions. Do not resubmit the result of the same business event. For historical records, first prepare the merge candidate report and check for exceptions. Mass deletion by one field can destroy useful history.

Is it possible to merge all enquiries by phone number?

Contacts can be matched according to an agreed rule, but individual requests and orders usually need to be kept separately.

Documentation and sources