> ## 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.

# Events API

> Verfolgen Sie Impressionen, Klicks und Käufe, um Attribution und Kampagnenoptimierung zu ermöglichen

export const IntegrationsCard1ADe = () => {
  return <>
      <style>{`
        .integrations-card-1a-de {
          display: flex;
          flex-direction: column;
          background-color: #f0f2f4;
          border: 1px solid rgba(0, 0, 0, 0.08);
          border-radius: 12px;
          padding: 1.25rem 1.5rem;
          gap: 0.25rem;
          color: #25253b;
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
          transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
          margin-top: 2rem;
        }

        .integrations-card-1a-de:hover {
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
          border-color: rgba(0, 0, 0, 0.12);
        }

        .dark .integrations-card-1a-de {
          background-color: #25253b;
          color: #f6f8fa;
          border-color: rgba(255, 255, 255, 0.08);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        .dark .integrations-card-1a-de:hover {
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
          border-color: rgba(255, 255, 255, 0.12);
        }

        .integrations-card-1a-de-avatar-row {
          display: flex;
          margin-left: 14px;
          flex-wrap: wrap;
        }

        .integrations-card-1a-de-avatar {
          width: 44px;
          height: 44px;
          border-radius: 50%;
          border: 2px solid #f0f2f4;
          margin-left: -14px;
          object-fit: cover;
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
          pointer-events: none;
          cursor: default;
        }

        .dark .integrations-card-1a-de-avatar {
          border-color: #25253b;
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        }

        .integrations-card-1a-de h2 {
          margin: 0;
          line-height: 1.25;
          font-size: clamp(1.25rem, calc(0.875rem + 1.25vw), 1.75rem);
          font-weight: 700;
          letter-spacing: -0.025em;
          color: #111827;
        }

        .dark .integrations-card-1a-de h2 {
          color: #f9fafb;
        }

        .integrations-card-1a-de-subtitle {
          font-size: 0.9375rem;
          font-weight: 500;
          line-height: 1.5;
          color: #4b5563;
          margin: 0;
        }

        .dark .integrations-card-1a-de-subtitle {
          color: #d1d5db;
        }

        .integrations-card-1a-de p {
          margin: 0;
          line-height: 1.5;
          font-size: 0.875rem;
          color: #374151;
        }

        .dark .integrations-card-1a-de p {
          color: #d1d5db;
        }

        .integrations-card-1a-de a {
          color: #0500ff;
          text-decoration: none;
          font-weight: 500;
          transition: color 0.15s ease;
        }

        .integrations-card-1a-de a:hover {
          color: #0400cc;
        }

        .dark .integrations-card-1a-de a {
          color: #8280ff;
        }

        .dark .integrations-card-1a-de a:hover {
          color: #a19fff;
        }

        @media (max-width: 640px) {
          .integrations-card-1a-de-avatar {
            width: 38px;
            height: 38px;
            margin-left: -12px;
          }

          .integrations-card-1a-de-avatar-row {
            margin-left: 12px;
          }
        }

        @media (min-width: 1280px) {
          .integrations-card-1a-de p {
            font-size: 0.6875rem;
            line-height: 1.4;
            letter-spacing: -0.01em;
          }

          .integrations-card-1a-de h2 {
            font-size: clamp(1rem, calc(0.75rem + 1vw), 1.25rem);
          }

          .integrations-card-1a-de-subtitle {
            font-size: 0.75rem;
          }
        }
      `}</style>
      <div className="integrations-card-1a-de">
        <div className="integrations-card-1a-de-avatar-row">
          <img src="/images/integration-team/agustin.webp" alt="Agustin - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/amelia.webp" alt="Amelia - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/bernardita.webp" alt="Bernardita - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/borumy.webp" alt="Borumy - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/felipe.webp" alt="Felipe - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/gui.webp" alt="Gui - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/javiera.webp" alt="Javiera - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/linn.webp" alt="Linn - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/marcio.webp" alt="Marcio - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/mateus.webp" alt="Mateus - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/max.webp" alt="Max - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
          <img src="/images/integration-team/rodrigo.webp" alt="Rodrigo - Integrations Team Member" loading="lazy" className="integrations-card-1a-de-avatar" />
        </div>

        <h2>Brauchen Sie Hilfe bei Ihrer Topsort-Integration?</h2>

        <p className="integrations-card-1a-de-subtitle">
          Sprechen Sie mit uns, dem Integrations-Engineering-Team.
        </p>

        <p>
          Erreichen Sie uns über <strong>Ihren dedizierten Nachrichtenkanal</strong> oder unter{" "}
          <a href="mailto:support@topsort.com">support@topsort.com</a>.
        </p>

        <p>
          Falls Sie noch kein Kunde sind,{" "}
          <a href="https://www.topsort.com/book-a-demo">buchen Sie eine Demo</a> mit unserem
          Vertriebsteam.
        </p>
      </div>
    </>;
};

Die Events API ermöglicht es Ihnen, Echtzeit-Benutzerinteraktionsdaten an Topsort zu senden. Diese Daten treiben Kampagnen-Attribution, Reporting und Optimierungsalgorithmen an.

## Ereignistypen

Topsort verfolgt drei Kern-Ereignistypen:

| Ereignis       | Beschreibung                               | Wann senden                                                     |
| -------------- | ------------------------------------------ | --------------------------------------------------------------- |
| **Impression** | Benutzer sieht ein beworbenes Produkt      | Wenn ein gesponsertes Produkt auf dem Bildschirm gerendert wird |
| **Klick**      | Benutzer klickt auf ein beworbenes Produkt | Wenn ein Benutzer auf ein gesponsertes Produkt klickt           |
| **Kauf**       | Benutzer schließt eine Transaktion ab      | Wenn eine Bestellung bestätigt wird                             |

## Integrationsoptionen

<CardGroup cols={2}>
  <Card title="Direkte API" icon="code" href="/de/api-reference/events/report-events">
    Senden Sie Ereignisse direkt an die Events API von Topsort für maximale Kontrolle und Flexibilität.
  </Card>

  <Card title="Analytics.js" icon="js" href="/de/ad-platform/listings/analytics-js">
    Verwenden Sie unser JavaScript SDK für einfache clientseitige Ereignisverfolgung.
  </Card>

  <Card title="Twilio Segment" icon="database" href="/de/ad-server/events/twilio-segment">
    Leiten Sie Ereignisse über Segment weiter, wenn Sie es bereits für Analytics verwenden.
  </Card>

  <Card title="RudderStack" icon="database" href="/de/ad-server/events/rudderstack">
    Integrieren Sie über RudderStack für einheitliche Ereignisweiterleitung.
  </Card>
</CardGroup>

## Schlüsselkonzepte

### Resolved Bid ID

Die `resolvedBidId` ist eine eindeutige Kennung, die von der Auctions API zurückgegeben wird und ein Ereignis mit einem bestimmten Auktionsgewinner verknüpft. Diese ist für Impressions- und Klick-Ereignisse erforderlich, um eine korrekte Attribution zu ermöglichen.

```json theme={null}
{
  "impressions": [
    {
      "resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVh...",
      "occurredAt": "2023-05-01T12:00:00Z"
    }
  ]
}
```

### Ereignis-Attribution

Ereignisse werden Kampagnen basierend auf folgenden Kriterien zugeordnet:

* **Direkte Attribution**: Benutzer interagiert mit einem beworbenen Produkt und konvertiert
* **Halo-Attribution**: Benutzer sieht ein beworbenes Produkt, kauft aber ein anderes Produkt desselben Anbieters

Erfahren Sie mehr über [Attributionsmodelle](/de/knowledge-base/ad-server/attribution).

## Implementierungsschritte

<Steps>
  <Step title="Resolved Bid ID speichern">
    Speichern Sie beim Anzeigen von Auktionsgewinnern die `resolvedBidId` aus der Auktionsantwort.
  </Step>

  <Step title="Impressionen verfolgen">
    Senden Sie ein Impressions-Ereignis, wenn ein gesponsertes Produkt für den Benutzer sichtbar wird.
  </Step>

  <Step title="Klicks verfolgen">
    Senden Sie ein Klick-Ereignis, wenn ein Benutzer auf ein gesponsertes Produkt klickt.
  </Step>

  <Step title="Käufe verfolgen">
    Senden Sie Kauf-Ereignisse, wenn Bestellungen abgeschlossen werden, einschließlich aller gekauften Produkte.
  </Step>
</Steps>

## Beispiel: Ereignisse senden

```bash theme={null}
curl -X POST https://api.topsort.com/v2/events \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "impressions": [
      {
        "resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4...",
        "occurredAt": "2023-05-01T12:00:00Z"
      }
    ],
    "clicks": [
      {
        "resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4...",
        "occurredAt": "2023-05-01T12:00:05Z"
      }
    ]
  }'
```

## Nächste Schritte

* [Events API Referenz](/de/api-reference/events/report-events) - Vollständige API-Dokumentation
* [Analytics.js Leitfaden](/de/ad-platform/listings/analytics-js) - Clientseitige Verfolgung
* [Attributionsmodelle](/de/knowledge-base/ad-server/attribution) - Attribution verstehen

<IntegrationsCard1ADe />
