> ## Documentation Index
> Fetch the complete documentation index at: https://oneviewhub.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting Attribution Errors

> Diagnose and resolve common attribution errors in OneView to ensure accurate conversion tracking across all platforms.

# Error Codes

<Info>
  Attribution errors are encoded in the reporting model. Sessions with errors appear under the `Error` channel with a `marketing_channel_error_type`. Conversions without valid session context fall under `Unknown` with a `marketing_channel_unknown_type`.
</Info>

## Conflicting sources

Description: Multiple eligible paid sources detected for the same session; attribution is withheld to avoid double counting.

When multiple paid sources are detected for the same session, OneView flags the session as an error with `marketing_channel_error_type = "Conflicting Sources"`. This typically happens when more than one platform-specific click identifier (for example, `gclid`, `ttclid`, `fbclid`) is present or inferred in the eligible page views for a conversion.

<Info>
  OneView attempts a safe auto-resolution by using `utm_source` to disambiguate when it uniquely matches a single candidate. If ambiguity remains, the session is marked as a conflict to prevent misattribution.
</Info>

<AccordionGroup>
  <Accordion title="How to fix">
    <Steps>
      <Step title="Verify tagging consistency">
        Ensure each campaign only appends a single platform click ID at a time. Remove overlapping redirect chains that inject multiple click IDs into the same landing.

        <Tip>
          Maintain a strict mapping between `utm_source` and your media partners to help automatic conflict resolution.
        </Tip>
      </Step>

      <Step title="Check landing and redirect flows">
        Audit your link shorteners and tracking redirects. Confirm they do not append additional platform parameters when a click ID is already present.
      </Step>

      <Step title="Re-run the report to confirm">
        Export your attributed or contributing sources report and confirm the error no longer appears for recent conversions.

        <Check>
          Conflicts should disappear or reduce significantly within new sessions after fixes deploy.
        </Check>
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

<Note>
  Behavior: If multiple eligible media partners remain after auto-resolution, the session is labeled `Error → Conflicting Sources` and excluded from attribution to avoid double counting.
</Note>

## Self-Referral

Description: The session referer matches your own domain(s), indicating internal navigation or cross-domain misconfiguration.

Sessions are flagged as `Self-Referral` when the `referer` domain matches your own site or canonical domains, indicating internal navigation started a new session or missing cross-domain configuration. OneView treats these as errors to avoid inflating earned referrals or misattributing to owned properties.

<AccordionGroup>
  <Accordion title="How to fix">
    <Steps>
      <Step title="Confirm your domain configuration">
        List all owned domains and subdomains and ensure your tracking setup treats them as a single property.

        <Tip>
          If you use a custom tracking domain with your Google Tag Manager Server Container, ensure your reverse proxy configuration is properly set up to avoid referer flips. Consult your Tag Manager Server provider documentation for reverse proxy configuration.
        </Tip>
      </Step>

      <Step title="Fix cross-domain/session continuity">
        Enable cross-domain measurement for your analytics/tracking setup and ensure session identifiers persist across your domains.
      </Step>

      <Step title="Validate after deployment">
        Trigger a known cross-domain journey and verify the session no longer reports `Self-Referral` in the attribution reports.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

<Note>
  Behavior: Self-referrals are treated as errors in order to prevent inflating earned referrals or misattributing owned traffic.
</Note>

## Session quota exceeded

Description: Session limits were exceeded for the period; affected rows are surfaced under Unknown for diagnostics and excluded from modeling.

When your workspace exceeds the allowed number of sessions within the billing or configured limits, OneView marks impacted rows under the Unknown channel with `marketing_channel_unknown_type = "Sessions Quota Exceeded"`. These sessions are excluded from attribution to preserve model integrity.

<Warning>
  Exceeding quotas can lead to partial visibility in reports and under-attribution for periods where limits were hit.
</Warning>

<AccordionGroup>
  <Accordion title="How to fix">
    <Steps>
      <Step title="Check your current quota and usage">
        Review workspace limits and recent session volume trends. Identify spikes due to bots, QA traffic, or accidental duplications.
      </Step>

      <Step title="Reduce noise and fix sources">
        Filter obvious bot traffic, gate non-production traffic, and deduplicate repeated client-side events.
      </Step>

      <Step title="Consider increasing quota">
        If volume is legitimate growth, upgrade your plan or request a quota increase.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

<Info>
  Behavior: When session limits are exceeded for a conversion, the pipeline marks the row under `Unknown → Sessions Quota Exceeded`. These rows are excluded from model attribution, but remain visible for diagnostics.
</Info>

## Missing data

Description: Required session context or identifiers are missing, preventing safe attribution.

`Missing Data` appears under the Unknown channel when a conversion does not have a valid session context or required attributes for attribution. Common causes include missing consent (no identifiers), stripped UTM parameters, or incomplete event payloads.

<AccordionGroup>
  <Accordion title="How to fix">
    <Steps>
      <Step title="Verify consent and identifiers">
        Ensure that user consent allows advertising storage where required and that at least one stable identifier (e.g., client ID, user ID, alias) is available server-side.
      </Step>

      <Step title="Preserve UTMs and landing context">
        Confirm UTMs survive redirects and that your first page view captures `page_location`, `referer`, and click IDs. Avoid SPA route swaps before the first event flush.
      </Step>

      <Step title="Harden your event schema">
        Validate required fields in your web and server SDKs. Reject or repair malformed payloads before ingestion.

        <Check>
          New conversions should attribute correctly once valid session data is present.
        </Check>
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

<Info>
  Behavior: Missing required context yields `Unknown → Missing Data`. This includes absent session identifiers, stripped UTMs, or incomplete payloads. Once valid sessions are present for future conversions, attribution resumes automatically.
</Info>
