Zum Hauptinhalt springen

Überblick

Die Social-Media-Kampagnen-API ermöglicht automatisierte Marketingkampagnen für Ihre Fahrzeuginserate auf den wichtigsten sozialen Plattformen. Starten Sie Multi-Platform-Kampagnen, verfolgen Sie Performance-Metriken und verwalten Sie das Werbebudget direkt in Steer AI.

Unterstützte Plattformen

Facebook

Facebook Marketplace- und News-Feed-Anzeigen

Instagram

Instagram-Feed- und Stories-Anzeigen

TikTok

TikTok For You-Page-Anzeigen (in Kürze)

Voraussetzungen

Bevor Sie die Campaigns-API nutzen, müssen Sie:
  1. Ihre Social-Media-Konten über den upload-post-Service verbinden
  2. Ein aktives Facebook Business Manager-Konto haben
  3. Zahlungsmethoden für Werbekonten einrichten

Endpunkte

Facebook-Seiten abrufen

GET
endpoint
/ads/facebook/pages
Ruft Facebook-Seiten ab, die mit Ihrem Konto verknüpft sind und für Werbung verfügbar sind. Antwort:
{
  "success": true,
  "pages": [
    {
      "id": "123456789",
      "name": "Prime Auto Dealership",
      "picture": "https://...",
      "account_id": "act_9876543210"
    }
  ]
}
Antwortfelder:
id
string
Facebook-Seiten-ID
name
string
Anzeigename der Seite
picture
string
URL des Profilbilds
account_id
string
Zugehörige Facebook-Werbekonto-ID
Dieser Endpunkt ist 5 Minuten gecacht, um die Performance zu verbessern.

Kampagne aktivieren

POST
endpoint
/ads/campaigns/activate
Startet eine Marketingkampagne auf einer oder mehreren Social-Media-Plattformen. Anfrage-Body:
{
  "campaignId": "campaign_uuid",
  "platforms": ["facebook", "instagram"]
}
campaignId
string
erforderlich
Kampagnen-UUID aus Ihrem Marketing-System
platforms
array
erforderlich
Array der Plattformnamen: facebook, instagram, tiktok. Mindestens eine Plattform erforderlich.
Antwort:
{
  "results": [
    {
      "success": true,
      "campaign_id": "fb_campaign_123",
      "ad_set_id": "fb_adset_456",
      "ad_id": "fb_ad_789",
      "platform": "facebook",
      "message": "Campaign activated successfully"
    },
    {
      "success": true,
      "campaign_id": "ig_campaign_123",
      "ad_set_id": "ig_adset_456",
      "ad_id": "ig_ad_789",
      "platform": "instagram",
      "message": "Campaign activated successfully"
    }
  ],
  "summary": {
    "total": 2,
    "successes": 2,
    "errors": 0,
    "successful_platforms": ["facebook", "instagram"],
    "error_messages": []
  }
}
Antwortfelder:
results
array
Array plattformspezifischer Ergebnisse
success
boolean
Ob die Kampagne auf dieser Plattform erfolgreich gestartet wurde
campaign_id
string
Plattform-spezifische Kampagnen-ID
ad_set_id
string
Plattform-spezifische Anzeigengruppen-ID
ad_id
string
Plattform-spezifische Anzeigen-ID
platform
string
Plattformname (facebook, instagram, tiktok)
error
string
Fehlermeldung, falls die Kampagne fehlschlug

Kampagnenmetriken abrufen

GET
endpoint
/ads/campaigns//metrics
Ruft Performance-Metriken für eine aktive Kampagne ab. Path-Parameter:
campaignId
string
erforderlich
Kampagnen-UUID
Query-Parameter:
platformType
enum
erforderlich
Plattform für die Metriken: facebook, instagram, tiktok
Antwort:
{
  "success": true,
  "data": {
    "impressions": 125430,
    "clicks": 3421,
    "conversions": 87,
    "spent": 1250.50,
    "ctr": 2.73,
    "cpc": 0.37,
    "cpm": 9.97,
    "reach": 98234,
    "frequency": 1.28,
    "conversion_rate": 2.54
  }
}
Metriken erklärt:
impressions
number
Anzahl der Anzeigen-Impressionen
clicks
number
Anzahl der Klicks
conversions
number
Anzahl erfolgreicher Conversions (Leads, Anfragen usw.)
spent
number
Gesamtbetrag der Ausgaben (Kontowährung)
ctr
number
Klickrate in Prozent
cpc
number
Kosten pro Klick
cpm
number
Kosten pro tausend Impressionen (Mille)
reach
number
Einzigartige Nutzer, die die Anzeige gesehen haben
frequency
number
Durchschnittliche Anzeigenhäufigkeit pro Nutzer
conversion_rate
number
Prozentsatz der Klicks, die konvertiert haben
Metriken sind 1 Minute gecacht. Daten können 24–48 Stunden benötigen, um sich auf Plattformseite zu stabilisieren.

Kampagne pausieren

POST
endpoint
/ads/campaigns//pause
Pausiert eine aktive Kampagne auf einer bestimmten Plattform. Path-Parameter:
campaignId
string
erforderlich
Kampagnen-UUID
Anfrage-Body:
{
  "platformType": "facebook"
}
platformType
enum
erforderlich
Plattform zum Pausieren: facebook, instagram, tiktok
Antwort:
{
  "success": true,
  "campaign_id": "fb_campaign_123",
  "platform": "facebook",
  "message": "Campaign paused successfully"
}
Das Pausieren stoppt die Auslieferung sofort, löscht die Kampagne aber nicht. Sie können sie später reaktivieren.

Kampagnen-Workflow

Best Practices für Kampagnen

Zielgruppen-Targeting

Konfigurieren Sie Kampagnen für optimale Reichweite:
  • Standort: Zielstädte oder Regionen, in denen Sie aktiv sind
  • Altersbereich: Typischerweise 25–54 für Autokäufe
  • Interessen: Autoenthusiasten, Neuwagenkäufer, Premiumfahrzeuge
  • Verhalten: In-market für Fahrzeuge, kürzlich umgezogen, neuer Job

Budget-Empfehlungen

KampagnentypTagesbudgetLaufzeitErwartete Ergebnisse
Lokale Bekanntheit$20-507-14 Tage5.000-15.000 Reichweite
Lead-Generierung$50-10014-30 Tage50-150 Leads
Bestands-Showcase$100-20030-60 Tage100-300 Anfragen
Sonderaktion$200-5007-14 Tage200-500 Leads

Kreativ-Richtlinien

Bilder:
  • Hochwertige Fahrzeugfotos (1080x1080 empfohlen)
  • Mehrere Winkel von außen und innen
  • Professionelle Beleuchtung und saubere Hintergründe
  • Preis oder Sonderangebot als Overlay
Copy:
  • Klare, prägnante Botschaft (125 Zeichen oder weniger)
  • Marke, Modell, Jahr nennen
  • Wichtige Features oder Vorteile hervorheben
  • Starker Call-to-Action (“Testfahrt vereinbaren”, “Details ansehen”)
Video (falls zutreffend):
  • 15-30 Sekunden optimale Länge
  • Fahrzeug in Bewegung und Details zeigen
  • Untertitel hinzufügen (80% schauen ohne Ton)
  • Branding am Anfang und Ende

Anwendungsfälle

Beispiel 1: Multi-Platform-Kampagne starten

# Activate campaign on Facebook and Instagram
curl -X POST "https://api.steerai.autos/v1/ads/campaigns/activate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "campaignId": "campaign_uuid",
    "platforms": ["facebook", "instagram"]
  }'

Beispiel 2: Kampagnen-Performance überwachen

# Get Facebook campaign metrics
curl -X GET "https://api.steerai.autos/v1/ads/campaigns/{campaignId}/metrics?platformType=facebook" \
  -H "Authorization: Bearer YOUR_API_KEY"

Beispiel 3: Schwache Kampagne pausieren

# Pause campaign if metrics don't meet targets
curl -X POST "https://api.steerai.autos/v1/ads/campaigns/{campaignId}/pause" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platformType": "facebook"
  }'

Fehlercodes

CodeStatusBeschreibung
USER_NOT_REGISTERED400Nutzer nicht beim upload-post-Service registriert
ACCOUNT_NOT_CONNECTED400Social-Media-Konto nicht verbunden
CAMPAIGN_NOT_FOUND404Kampagnen-ID existiert nicht
INVALID_PLATFORM400Nicht unterstützte Plattform angegeben
INSUFFICIENT_AD_CREDIT402Nicht genug Guthaben im Werbekonto
PAGE_NOT_FOUND404Facebook-Seite nicht gefunden oder nicht zugänglich
PERMISSION_DENIED403Fehlende erforderliche Berechtigungen
CAMPAIGN_ALREADY_ACTIVE400Kampagne läuft bereits

Plattform-spezifische Hinweise

Facebook/Instagram

  • Erfordert Facebook Business Manager-Konto
  • Werbekonto muss eine Zahlungsmethode eingerichtet haben
  • Seite benötigt mindestens 30 Follower für Boosted Posts
  • Review-Zeiten: typischerweise 24 Stunden, bis zu 48 Stunden bei komplexen Anzeigen
  • Mindest-Tagesbudget: $5 USD äquivalent

TikTok

  • Derzeit in Entwicklung
  • Erfordert TikTok Business-Konto
  • Mindest-Tagesbudget: $20 USD äquivalent
  • Review-Zeiten: bis zu 24 Stunden

Integrationsbeispiel

class CampaignManager {
  constructor(apiKey) {
    this.apiKey = apiKey;
    this.baseURL = 'https://api.steerai.autos/v1';
  }

  async activateCampaign(campaignId, platforms) {
    const response = await fetch(`${this.baseURL}/ads/campaigns/activate`, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${this.apiKey}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ campaignId, platforms })
    });
    return response.json();
  }

  async getMetrics(campaignId, platform) {
    const response = await fetch(
      `${this.baseURL}/ads/campaigns/${campaignId}/metrics?platformType=${platform}`,
      {
        headers: { 'Authorization': `Bearer ${this.apiKey}` }
      }
    );
    return response.json();
  }

  async pauseCampaign(campaignId, platform) {
    const response = await fetch(
      `${this.baseURL}/ads/campaigns/${campaignId}/pause`,
      {
        method: 'POST',
        headers: {
          'Authorization': `Bearer ${this.apiKey}`,
          'Content-Type': 'application/json'
        },
        body: JSON.stringify({ platformType: platform })
      }
    );
    return response.json();
  }

  // Monitor campaign and auto-pause if CPC exceeds threshold
  async monitorCampaign(campaignId, platform, maxCPC) {
    const metrics = await this.getMetrics(campaignId, platform);

    if (metrics.data.cpc > maxCPC) {
      console.log(`CPC ${metrics.data.cpc} exceeds threshold ${maxCPC}. Pausing campaign.`);
      await this.pauseCampaign(campaignId, platform);
      return { action: 'paused', reason: 'CPC_THRESHOLD_EXCEEDED' };
    }

    return { action: 'continue', metrics: metrics.data };
  }
}

Verwandte Ressourcen