Shopify-Connector

Shopify-Connector

Verbinde deinen Shopify-Shop mit Brevo für eine vollständige Synchronisation von Kundendaten, Warenkorb-Abandonment-Recovery und automatisierte Marketingkampagnen.

Überblick

EigenschaftWert
PlattformShopify
KategorieE-Commerce
EinrichtungsaufwandEinfach
Offizielle IntegrationJa
Synchronisierte DatenKund:innen, Bestellungen, Produkte, Warenkörbe, Events
Verfügbare Skills12

Funktionen

  • Echtzeit-Kundendaten-Synchronisation – Kundendaten werden sofort mit Brevo-Kontakten synchronisiert
  • Bestellverfolgung – Bestell-Events für Post-Purchase-Flows
  • Produktkatalog-Synchronisation – Produkte stehen für Empfehlungen zur Verfügung
  • Warenkorb-Abandonment – Abgebrochene Warenkörbe verfolgen und reaktivieren
  • Browse-Verhalten – Tracking von Seitenaufrufen und Produktinteresse
  • Multi-Shop-Unterstützung – Verbinde mehrere Shopify-Shops

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  1. Einen Shopify-Shop mit Admin-Zugang
  2. Einen Brevo-Account mit API-Zugang
  3. Einen Tajo-Account

Installation

Option 1: Shopify App Store (empfohlen)

  1. Besuche die Tajo-App im Shopify App Store
  2. Klicke auf „Add app”
  3. Erteile die angeforderten Berechtigungen
  4. Verbinde deinen Brevo-Account

Option 2: Manuelle Installation

Schritt 1: Eine Shopify-App erstellen

  1. Gehe im Shopify-Admin zu Settings → Apps and sales channels
  2. Klicke auf „Develop apps” → „Create an app”
  3. Benenne sie „Tajo Integration”

Schritt 2: API-Scopes konfigurieren

Aktiviere diese Scopes:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Schritt 3: App installieren

Terminal window
# Using Tajo CLI
tajo connectors install shopify \
--shop-url your-store.myshopify.com \
--api-key $SHOPIFY_API_KEY \
--api-secret $SHOPIFY_API_SECRET

Schritt 4: Webhooks konfigurieren

Tajo registriert automatisch folgende Webhooks:

WebhookZweck
customers/createSynchronisation neuer Kund:innen
customers/updateÄnderungen an Kundendaten
customers/deleteEntfernen von Kund:innen
orders/createEvents bei Bestellaufgabe
orders/updatedÄnderungen des Bestellstatus
checkouts/createWarenkorb erstellt
checkouts/updateWarenkorb aktualisiert

Konfiguration

Grundlegende Einrichtung

connectors:
shopify:
enabled: true
shop_url: "your-store.myshopify.com"
api_version: "2024-01"
# Data sync options
sync:
customers: true
orders: true
products: true
carts: true
inventory: false # Optional
# List assignment
lists:
all_customers: 5
buyers: 6
abandoned_cart: 7

Feld-Mapping

Mappe Shopify-Felder auf Brevo-Kontaktattribute:

Standard-Mappings

Parameter Type Description
email required
string

E-Mail der Kund:in (eindeutiger Identifier)

first_name optional
string

Mappt auf das FIRSTNAME-Attribut

last_name optional
string

Mappt auf das LASTNAME-Attribut

phone optional
string

Mappt auf das SMS-Attribut für WhatsApp/SMS

accepts_marketing optional
boolean

Steuert den Abonnement-Status

orders_count optional
integer

Gesamtzahl der Bestellungen

total_spent optional
number

Lifetime Customer Value

tags optional
array

Kunden-Tags aus Shopify

Mapping benutzerdefinierter Attribute

field_mapping:
# Standard fields
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# E-commerce metrics
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
last_order_date: LAST_ORDER_DATE
# Custom fields
customer_type: CUSTOMER_TYPE
preferred_language: LANGUAGE
loyalty_tier: VIP_TIER
# Computed fields
average_order_value: AOV
days_since_last_order: RECENCY

Produkt-Synchronisation

Synchronisiere Produkte für E-Mail-Empfehlungen:

sync:
products:
enabled: true
include_variants: true
include_images: true
categories_as_tags: true
# Filter products
filter:
status: active
exclude_tags: ["hidden", "wholesale-only"]

Bestandsverfolgung

Aktiviere die Synchronisation der Lagerbestände:

sync:
inventory:
enabled: true
low_stock_threshold: 10
out_of_stock_events: true

Events

Kunden-Events

EventTriggerAnwendungsfall
customer_createdNeuregistrierung einer Kund:inWelcome-Serie
customer_updatedProfiländerungenDatensynchronisation
customer_tags_addedTags zugewiesenSegment-Updates

Bestell-Events

EventTriggerAnwendungsfall
order_placedCheckout abgeschlossenBestellbestätigung
order_fulfilledBestellung versandtVersandbenachrichtigung
order_cancelledBestellung storniertStornierungs-E-Mail
order_refundedRückerstattung verarbeitetRückerstattungs-Bestätigung

Warenkorb-Events

EventTriggerAnwendungsfall
cart_createdArtikel in den Warenkorb gelegtBrowse-Tracking
cart_updatedWarenkorb geändertWarenkorb-Wert-Tracking
cart_abandonedKein Checkout innerhalb von 30 Min.Recovery-E-Mails

Freigeschaltete Skills

Der Shopify-Connector schaltet folgende Skills frei:

SkillBeschreibung
Customer SyncEchtzeit-Kundendaten-Synchronisation
Order EventsBestell-Lifecycle-Tracking
Abandoned CartWarenkorb-Recovery-E-Mails
Welcome SeriesOnboarding für Neukund:innen
Post-PurchaseBestell-Follow-up
Win-BackInaktive Kund:innen reaktivieren
Browse AbandonmentFollow-up bei Produktinteresse
ReplenishmentNachbestell-Erinnerungen

Code-Beispiele

Connector initialisieren

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Shopify store
await tajo.connectors.connect('shopify', {
shopUrl: 'your-store.myshopify.com',
apiKey: process.env.SHOPIFY_API_KEY,
apiSecret: process.env.SHOPIFY_API_SECRET
});

Erst-Synchronisation ausführen

// Full historical sync
await tajo.connectors.sync('shopify', {
type: 'full',
resources: ['customers', 'orders', 'products'],
since: '2023-01-01'
});
// Check sync status
const status = await tajo.connectors.status('shopify');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersCount: 15420,
// ordersCount: 8234,
// productsCount: 342
// }

Warenkorb-Events tracken

Füge das Tajo-Skript zu deinem Shopify-Theme hinzu:

<!-- Add to theme.liquid before </head> -->
{% if customer %}
<script>
window.tajoConfig = {
customerId: "{{ customer.id }}",
customerEmail: "{{ customer.email }}",
customerName: "{{ customer.first_name }}"
};
</script>
{% endif %}
<script src="https://cdn.tajo.io/shopify.js"></script>

Benutzerdefinierter Webhook-Handler

// Handle Shopify webhooks manually
app.post('/webhooks/shopify', async (req, res) => {
const hmac = req.get('X-Shopify-Hmac-SHA256');
// Verify webhook signature
if (!verifyShopifyWebhook(req.body, hmac)) {
return res.status(401).send('Unauthorized');
}
const topic = req.get('X-Shopify-Topic');
// Forward to Tajo
await tajo.connectors.handleWebhook('shopify', {
topic,
payload: req.body
});
res.status(200).send('OK');
});

Monitoring

Dashboard-Metriken

Überwache deine Shopify-Verbindung im Tajo-Dashboard:

  • Sync-Status: Echtzeit-Zustand der Verbindung
  • Synchronisierte Kund:innen: Gesamtzahl der Kontakte aus Shopify
  • Erfasste Bestellungen: Verarbeitete Bestell-Events
  • Cart-Recovery: Performance bei abgebrochenen Warenkörben
  • Fehlerrate: Fehlgeschlagene Synchronisationsversuche

Webhook-Logs

Zeige den Webhook-Zustellstatus an:

Terminal window
tajo connectors logs shopify --type webhook --last 24h

Synchronisationsverlauf

Historische Synchronisations-Operationen prüfen:

Terminal window
tajo connectors history shopify --limit 10

Fehlerbehebung

Häufige Probleme

API Rate Limits

Shopify hat API-Rate-Limits von 2 Requests/Sekunde. Nutze Batch-Synchronisation für große historische Importe.

ProblemUrsacheLösung
Webhook nicht empfangenApp-BerechtigungenApp mit korrekten Scopes neu installieren
Kund:in nicht synchronisiertFehlende E-MailShopify verlangt für Kund:innen eine E-Mail-Adresse
Produkte fehlenProduktstatusPrüfe, ob das Produkt den Status „active” hat
Warenkorb nicht getracktSkript nicht geladenSkript in der theme.liquid prüfen

Debug-Modus

Ausführliches Logging aktivieren:

connectors:
shopify:
debug: true
log_level: verbose
log_webhooks: true

Verbindung testen

Terminal window
tajo connectors test shopify
# ✓ API connection successful
# ✓ Webhooks registered
# ✓ Products accessible
# ✓ Customers readable
# ✓ Orders readable

Best Practices

  1. Mit einem Test-Shop starten – Nutze zunächst einen Development-Store
  2. Erst-Synchronisation außerhalb der Stoßzeiten – Große Synchronisationen können langsam sein
  3. Benutzerdefinierte Attribute mappen – Verlasse dich nicht nur auf Standard-Mappings
  4. Warenkorb-Tracking aktivieren – Entscheidend für Warenkorb-Abandonment-Recovery
  5. Webhook-Gesundheit überwachen – Richte Alerts für fehlgeschlagene Zustellungen ein
  6. Batch-Importe nutzen – Für historische Daten ab 10.000 Datensätzen

Sicherheit

  • OAuth 2.0 – Sichere Token-basierte Authentifizierung
  • Webhook-Verifizierung – Validierung der HMAC-Signatur
  • Verschlüsselte Speicherung – API-Zugangsdaten werden verschlüsselt abgelegt
  • Gescopeter Zugriff – Nur minimal erforderliche Berechtigungen

Verwandte Ressourcen

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.

Kostenlos mit Brevo starten