Origin is lost when each channel creates a different record and the journey identifier doesn't follow the opportunity.

Define a common reference

The submission should create a non-enumerable public identifier, persist attribution and use idempotency keys across integrations.

Separate awareness and consent

Policy awareness, commercial consent and analytics preferences serve different purposes and shouldn't be represented by a single checkbox.

Close the loop in the CRM

The CRM needs to send back relevant changes — qualification, opportunity, proposal and win — idempotently and without PII in analytics.