Growth LabFor Growth Lab

    Offline Conversion Duplicate Imports: Diagnose First

    Offline conversion duplicate imports: preserve event identity, read diagnostics and separate accepted uploads from attributed business outcomes.

    Portrait of Elena MoralesElena MoralesGrowth Lab Lead6 min read
    Marketing analyst reviewing repeated event markers on a laptop during conversion reconciliation

    Quick answer: Offline conversion duplicate imports require checking event identity before sending another upload. DispoKey recommends three separate questions: was the row accepted, was the event attributed and does it represent one genuine business outcome? Preserve identifiers and timestamps; correct an existing conversion through the supported adjustment process rather than manufacturing a new event.

    • Keep the original event identifier and conversion time.
    • Read row-level errors and attribution diagnostics separately.
    • Distinguish a retry from a correction or a new outcome.

    A successful upload can still leave a marketer wondering where the conversion went. The tempting response is to submit it again with a new timestamp. That can turn a diagnosis problem into a counting problem. This guide owns the narrow import workflow: identity, errors, attribution and corrections. For business acquisition economics, use cost-per-contract analysis; an import acknowledgement does not establish a signed contract.

    Identify the business event before diagnosing an import

    Define what happened in the business and which conversion action represents it. A form submission, qualified lead and signed contract are different events, even when they belong to one person.

    Record the internal event identifier, genuine event timestamp, intended action and import method. Use the same identity when retrying the same outcome. Do not create a second contract event because a lead became qualified, or overwrite a qualified-lead event to make the reporting line look cleaner. Your naming convention should make those distinctions readable to the person reconciling the account.

    Does an accepted offline upload prove the conversion was attributed?

    No. The official troubleshooting guidance explicitly separates successful import responses from attribution. Use the available diagnostics to investigate rather than inferring campaign credit from acceptance alone. [2]

    An accepted request can also contain row-level information that needs inspection. Save the result with the original batch and preserve any error details. Report “accepted, attribution unconfirmed” when that is what you know. It is more useful than claiming a successful campaign outcome simply because the transport worked.

    Check identity before reuploading

    Compare the identifiers and conversion information used for the original event and the proposed retry. Duplicate handling depends on the actual import method and event fields. [1]

    Open the duplicate-import review checklist
    • Is this the same business outcome?
    • Are the event identity and original timestamp unchanged?
    • Which conversion action received it?
    • What did the original row-level response say?
    • Is this a retry, an adjustment or genuinely new activity?

    The platform's import guidelines describe duplicate handling for matching identifiers and conversion information. Do not assume every similar-looking row is a duplicate or that a new identifier makes a repeated business outcome legitimate. Track identifiers such as the click ID, order ID and conversion timestamp only where the chosen method requires them, under appropriate consent and data-handling controls.

    FindingNext actionAvoid
    Same event, failed importDiagnose and retry with stable identityNew timestamp to bypass the error
    Accepted, attribution unclearInspect offline diagnosticsTreat acceptance as campaign credit
    Existing event needs correctionSupported adjustment workflowUpload another outcome
    Offline conversion checks: identify the event, inspect diagnostics, then adjust or retry
    The business event stays stable while its import status is investigated.

    Read errors before reconciling reporting totals

    A batch total is not a substitute for row-level import results. Identify which events were accepted, rejected or still unresolved before comparing dashboard numbers.

    Group errors by cause rather than retrying every row. A missing field, incompatible action or identity conflict needs different treatment from a transient delivery problem. Use the exact documentation for your file upload or API integration; rules from one method should not be casually applied to another. Save the original input privately and retain a non-sensitive reconciliation summary for operational review.

    Also compare the reporting basis. Event time, import time and attribution reporting can describe different dates. Use the relevant platform columns and documented behavior instead of assuming every report assigns activity to the upload date. When you cannot establish the basis, label the discrepancy unresolved rather than shifting timestamps until totals happen to agree.

    Use adjustments for corrections, not invented new events

    A correction to an existing conversion is different from a new conversion. The official adjustment guidance describes identifying the existing event and keeping adjustments separate from new uploads. [3]

    Confirm whether the change is a retraction, a value restatement or another supported action for your implementation. Keep an audit note explaining the actual business reason. If a contract was recorded in error, creating a second negative or positive event without understanding the supported workflow can obscure the history. Ask the implementation owner to validate the proper correction method before sending it.

    Why keep an order ID or event identifier stable?

    A stable identifier connects the business outcome to its import and any permitted adjustment. Changing identity during a retry makes it harder to prove whether two rows describe one event.

    Use an internal identifier that does not expose a homeowner's name, address or contact information unnecessarily. Assign ownership for generating it and documenting the association. If the platform supports an order ID for the relevant adjustment path, verify how that identifier is used. Do not infer that the same field is optional, required or equivalent across every import method.

    A worked reconciliation example with unresolved rows

    Count genuine outcomes separately from upload attempts. The following figures are invented to demonstrate reconciliation, not actual Growth Lab performance.

    Suppose the internal system records ten qualified leads. The import log contains twelve attempts because two events were retried. Eight unique events show accepted results, one has a validation error and one remains unresolved. The useful business total is ten, not twelve attempts. The accepted total is eight, not a claim that eight outcomes were attributed. Check the two unresolved outcomes through their own error and diagnostic records.

    If diagnostics later confirm attribution for six accepted events, document six confirmed, two accepted but unconfirmed, one validation failure and one unresolved attempt. Do not force the campaign report to equal the internal total by manufacturing new rows. This four-state ledger gives the team a specific investigation queue while preserving honest reporting.

    Keep test records and private data out of production outcomes

    Test submissions do not represent real qualified leads or contracts. Keep them marked and excluded from the production conversion workflow.

    Before uploading, check the outcome's test marker, authorization and required data fields. Restrict access to the original input; a shared troubleshooting screenshot does not need personal contact details or sensitive identifiers. Consent requirements and permitted matching methods deserve qualified privacy review. This article describes operational reconciliation, not permission to transmit every field captured by a form.

    When DispoKey may not be your best option

    If you lack a budget for at least three months of advertising or cannot reliably distinguish real outcomes from tests, fix that foundation before adding managed acquisition spending.

    Growth Lab costs $1,500/mo; clients own every lead and contract, and DispoKey disposition is an optional safety net. No lead-count or ROI guarantee is offered. Discuss your reporting arrangement through the existing inquiry flow, not an invented direct scheduler. Review negative-keyword governance and speed-to-lead operations for adjacent decisions, with resources supporting the workflow.

    Key takeaways

    Preserve event identity, distinguish acceptance from attribution and use the supported correction path. Reconcile business outcomes, unique events and attempts separately. A useful report can contain unresolved rows; it should never contain invented contracts created to make two dashboards agree.

    Frequently asked questions

    Do offline conversion duplicate imports always increase conversions?

    No. Duplicate handling depends on identifiers, conversion information and the import method. Matching events may be deduplicated, while changing event identity can create misleading records. Preserve the genuine business outcome and investigate the exact method.

    Why can an accepted import be missing from attribution reports?

    Import acceptance and attribution are different checks. Inspect row-level results, offline data diagnostics and the relevant reporting basis before assigning campaign credit. A successful request alone does not prove that the outcome was attributed.

    Should I upload a corrected conversion as a new event?

    Use the documented adjustment workflow where supported rather than inventing a new outcome. Confirm the original identity, action and required fields with the implementation owner, and record whether the real business change requires a retraction or value correction.

    References & sources

    1. [1]
    2. [2]
    3. [3]
    Portrait of Elena Morales

    Written by

    Elena Morales

    Growth Lab Lead

    Builds motivated-seller lead campaigns for investors and explains what PPC, LSA and direct mail really cost.

    Want your own motivated-seller leads?

    Growth Lab runs your Google and Facebook seller campaigns for $1,500/mo. You own every lead and contract.

    Book a Growth Lab call