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

# Direct Attribution

export const LastUpdated = ({date, lang = "en"}) => {
  const translations = {
    en: "Last updated:",
    es: "Última actualización:",
    pt: "Última atualização:",
    fr: "Dernière mise à jour:",
    de: "Zuletzt aktualisiert:"
  };
  const label = translations[lang] || translations.en;
  return <>
<style>{`
.last-updated-component {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 16px;
border-radius: 8px;
margin-top: 12px;
margin-bottom: 16px;
font-size: 14px;
background-color: rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.12);
color: rgba(0, 0, 0, 0.75);
line-height: 1;
}

        .last-updated-component svg {
          flex-shrink: 0;
          vertical-align: middle;
        }

        .last-updated-component span {
          display: inline-flex !important;
          align-items: center !important;
          line-height: 1 !important;
        }

        [data-theme="dark"] .last-updated-component {
          background-color: #3a3a3a;
          border: 2px solid #888888;
          color: #ffffff;
        }

        [data-theme="dark"] .last-updated-component svg {
          stroke: #ffffff;
        }
      `}</style>
      <div className="last-updated-component">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <circle cx="12" cy="12" r="10" />
          <polyline points="12 6 12 12 16 14" />
        </svg>
        <span>
          <strong style={{
    fontWeight: 600
  }}>{label}</strong> 
          <time dateTime={date}>{date}</time>
        </span>
      </div>
    </>;
};

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Direct attribution ties user purchases directly to ad interactions. This
  typically occurs when a user clicks on an ad (click attribution) or views an
  ad (impression attribution) within a set timeframe.
</div>

## Click Attribution

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  In click attribution, a purchase is linked to an ad if it occurs within a
  predefined window after the user clicked that ad. Here, the click is the
  attributing event, and the purchase is the attributable event. This is the
  most common method in retail media.
</div>

### Customizable Attribution Windows

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Attribution windows can now be configured per ad format, ranging from **1 to
  30 days**:
</div>

* **Sponsored Listings**: Often use shorter windows (1-14 days) as they target users with high purchase intent
* **Sponsored Brands**: May use medium windows (7-30 days) to account for brand consideration periods
* **Banner/Native/Video Ads**: Typically benefit from longer windows (14-30 days) as they focus on awareness and discovery

## Impression Attribution

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Impression attribution is less strict, only requiring the customer to have
  seen an ad before making a purchase for attribution. The user viewing the ad
  is the attributing event. This model is ideal for awareness-focused formats
  like homepage banners and video ads.
</div>

## Format-Specific Configuration

### Example 1: E-commerce

```
Sponsored Listings:
- Model: Last-click
- Window: 7 days
- Rationale: Direct purchase intent, quick decisions

Banner Ads:
- Model: Last-impression
- Window: 30 days
- Rationale: Awareness campaigns, longer consideration
```

### Example 2: Fashion Retailer

```
Sponsored Listings:
- Model: Last-click
- Window: 14 days
- Rationale: Fashion items have moderate consideration period

Video Ads:
- Model: Last-impression
- Window: 30 days
- Rationale: Seasonal campaigns, brand storytelling
```

## Attribution Scenarios

| Scenario                                                          | Attribution Result | Reason                                               |
| ----------------------------------------------------------------- | ------------------ | ---------------------------------------------------- |
| User sees banner →<br />clicks sponsored listing →<br />purchases | Sponsored Listing  | Click takes priority over impression                 |
| User sees video ad →<br />sees banner →<br />purchases            | Banner             | Most recent impression (if both use last-impression) |
| User clicks sponsored brand →<br />sees banner →<br />purchases   | Sponsored Brand    | Click takes priority over impression                 |

## Best Practices

1. **Start Conservative**: Begin with standard windows and adjust based on data
2. **Consider Your Category**: High-consideration products may need longer windows
3. **Test Incrementally**: Change one format at a time to measure impact
4. **Monitor Performance**: Use reports to validate your attribution settings

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  For more details on banner-specific attribution, see [Banner
  Attribution](/en/knowledge-base/ad-server/attribution/banner-attribution/).
</div>

***

<LastUpdated date="2025-11-18" />
