Import the business event you actually mean Narrated reference walkthrough. System-generated voice. Illustrative inputs. 0:00 The decision This is a narrated reference walkthrough, using illustrative inputs. It connects to no ad account or CRM. The question is simple: how do you give an ad platform a supported business event instead of treating every form inquiry as an opportunity? Start by agreeing what the event actually means. 0:30 Define the event An inquiry and a qualified opportunity are different events. The company decides the qualification criteria, owner and source rules before the integration runs. Keep the original acquisition source, the event time, currency and any permitted matching evidence. A neat platform report cannot repair a definition that sales does not use. 1:00 Inspect the branch The workflow resolves the CRM event, validates the fields, submits the allowed record and reconciles the receipt. The decision branch matters: missing evidence goes to an exception path. A held event stays visible with its reason. It does not acquire an invented identifier just to make the upload succeed. 1:30 Change the example The worked example is intentionally small. Change the business event, data-use check, matching evidence and duplicate state. With a supported distinct opportunity, the disposition is eligible for platform validation. Notice the wording: validation still comes next. This reference example does not claim a platform has accepted or matched the record. 2:00 An inquiry is not an opportunity Now change the event to a form inquiry. The decision keeps it as an inquiry. It does not write a qualified-opportunity conversion. This is the commercial point behind the integration: the platform should receive the event you intend to optimize, and a cheaper form fill is not automatically that event. 2:30 Missing evidence means hold Next, remove the matching evidence. The example holds the event for the exception owner. A real integration would preserve the record, explain the missing field and resume only when a supported value is available. Guessing identity makes the CRM less trustworthy and can create a misleading impression of import coverage. 3:00 A retry must not double count Mark the event as already accepted. The example skips the duplicate and retains the original receipt. Real retries need a stable event key and a record of completed work. An outage should resume incomplete actions, not turn one business event into multiple conversions or silently repeat an already completed upload. 3:30 Read the receipt The receipt separates submitted, accepted, matched, held and rejected states. These are not interchangeable. Reconcile unique CRM events against the actual platform result, including corrections and exclusions. A successful API call is useful operational evidence; it is not proof that bidding improved or that the company created additional pipeline. 4:00 Importing and bidding are separate Do not change the primary bidding goal merely because an import exists. Check reliability, volume, maturity and the value model first. Proxy stage weights are not realized revenue. Preserve working campaign history and make the smallest useful, reviewed change. The measurement contract keeps the definitions consistent across sales and the ad account. 4:30 Put the decision to work Use the open workflow and measurement contract to define the event and test the exceptions. The reference design shows the work; a company implementation connects the actual accounts and operating rules. GTMhub runs this through the paid media lane on the company brain, with the standard start and a named person accountable for decisions.