Choose between pre-signup and post-signup enrichment
Pre-signup enrichment can support a form interaction when you already have an appropriate identifier, but it makes the form dependent on an external response if implemented synchronously. Decide what the form does when that response is slow, missing or ambiguous. Never require an inferred company field to be correct for a person to create an account. Post-signup enrichment starts from an existing event and can finish independently. For most workflows described here, that makes retries and review easier to reason about.
These are design choices to implement, not automatic safeguards enabled by adding an integration.
Record identity before calling an enrichment service
Keep the signup ID, user ID, event time and original submitted email. Distinguish the user’s account identity from the inferred employer. A personal mailbox, consultant domain or agency address does not uniquely identify the company that will buy your product. When a work domain is usable, a company enrichment service can supply candidate company information. People Data Labs describes its company enrichment API as a one-to-one company match. Review the returned evidence before accepting a candidate for your workflow. For free-mail or ambiguous domains, keep company identity unresolved or ask the user for it at an appropriate point. Do not map a consumer email domain to the mail provider as the signup’s employer.Define fields around decisions
Choose fields that answer a real operational question. For example, a company domain can help associate an existing account; a documented industry category can support a review queue. An employee-count estimate might inform a segment, but it must retain its source and observation time. Use separate states for missing, unresolved, accepted, conflicting and provider-error data. Do not score an unresolved company as a bad-fit company simply because the enrichment failed.Worked event: the user corrects the company during a retry
Consider a fictional signupsignup-42. The user enters a work address and immediately enters the product. Enrichment runs independently:
Compare the result’s input revision with the current revision at the moment you apply it, not only when the request starts. Otherwise a slow but successful lookup can undo a correction the user already made.
For this example, user-supplied company corrections take precedence over enrichment. If your business needs independent verification, keep the supplied and inferred values separate until that verification finishes; do not silently discard either.