Sie müssen Ihre Salesdaten-Datei so formatieren, dass sie den unten angeführten Spezifikationen und Richtlinien entspricht.
Bevor Sie beginnen
Was sind Salesdaten?
Salesdaten sind sämtliche Informationen zu den in Ihren Stores registrierten Transaktionen; dazu gehören die täglichen Käufe, Rückgaben und Abbrüche, ebenso wie Offlinedaten aus Ihren physischen Geschäften. Wir speichern Ihre Salesdaten in unserem Sales Data Service, auf den die verschiedenen Emarsys Apps zugreifen können.
Der Status der Salesdaten-Datei sowie die regelmäßigen Updates können auf der Seite Management > Predict-Datenquellen > Salesdaten überwacht werden.
Wichtig
- Die Uploads von Salesdaten sind inkrementell, das heißt: Neue Uploads werden zu den bestehenden Salesdaten hinzugefügt und überschreiben diese nicht.
- Da Emarsys Salesdaten derzeit nicht dedupliziert, sollten Sie darauf achten, die individuellen Bestellungen jeweils nur einmal hochzuladen; duplizierte Einträge verfälschen das Reporting.
Warum sind Salesdaten wichtig?
Unsere Web Extend Scripts für die Datensammlung tracken zwar die Käufe in Ihrem Onlinestore, sie erfassen jedoch keine Informationen zu Rücksendungen, Abbrüchen und Offline-Transaktionen. Diese Informationen sind entscheidend für all die zugehörigen Emarsys Funktionen wie das präzise Umsatz-Reporting oder Produktaffinitätsmodelle, und sie machen unsere smarten Features noch smarter.
Ihre Salesdaten sind für die meisten Emarsys Produkte und Funktionen erforderlich, einschließlich Predict und Smart Insight. Zudem werden die Salesdaten für die Zuordnung von Umsätzen, Umsatzstatistiken und das Reporting benötigt.
Wie viel Aufwand muss ich investieren?
In einem ersten Schritt müssen Sie eine Datei generieren, die idealerweise zumindest zwei Jahre an Salesdaten enthält und unseren unten angeführten Spezifikationen entspricht. Je nach Größe und Komplexität Ihrer Sales-Historie muss Ihr Datenspezialist möglicherweise einige Stunden aufwenden, um diese Datei liefern zu können.
Sollte unsere Validierungs-Engine danach Probleme entdecken, müssen Sie diese zuerst beheben; das kann wiederum einige Stunden Aufwand für den Datenspezialisten bedeuten.
Basierend auf den Erfahrungen unserer Kunden ist der Zeitaufwand für das Einrichten der Salesdaten-Datei in etwa wie folgt:
Aktion | Rolle | Max. Aufwand |
---|---|---|
Datei mit historischen Salesdaten generieren | Datenspezialist | Bis zu 8 Stunden |
Datei validieren | Datenspezialist | 5 Minuten |
Fehler beheben, falls erforderlich | Datenspezialist | Hängt von der Anzahl und dem Schweregrad der Probleme ab, üblicherweise aber nicht mehr als 2 Stunden |
Täglichen Salesdaten-Import einrichten | Datenspezialist | Bis zu 2 Stunden |
Wie oft muss ich Salesdaten hochladen?
Nachdem Ihre historischen Salesdaten in dieser ersten Datei erfolgreich hochgeladen wurden, empfiehlt Emarsys, neue Salesdaten einmal täglich hochzuladen.
Sie können Ihre Salesdaten öfter aktualisieren, Smart Insight verarbeitet die Salesdaten-Dateien jedoch nur einmal täglich in aggregierter Form.
Allgemeine Regeln für Ihre Datendatei
Wenn Ihre Salesdaten-Datei nicht alle unsere Validierungs-Checks besteht, wird der Upload fehlschlagen. Sie müssen sicherstellen, dass die Datei wie nachstehend beschrieben formatiert ist.
Die Spalten im Header Ihrer Salesdaten-Datei müssen genau in der Reihenfolge angeordnet sein, die im Zuge des Smart Insight Onboarding vereinbart wurde. Sind sie das nicht, wird der Upload fehlschlagen.
Sie können die Reihenfolge der Spalten überprüfen, und zwar ganz oben auf der Seite Salesdaten (Menü Management > Predict Datenquellen > Salesdaten > Salesdaten verwalten); zum Beispiel:
- Ihre Salesdaten-Datei sollte eine einfache .csv-Tabelle sein, wobei eine Zeile jeweils die Attribute einer einzelnen Position (eines "line item") beschreibt.
- Die Datei muss mit einer Header-Zeile (z.B. den Feldnamen) beginnen.
- Der Dateiname muss der Konvention
sales_items*.csv
folgen. Mit anderen Worten: Der Dateiname muss mit der Zeichenfolgesales_item
beginnen und die Erweiterung .csv haben; das Sternchen kann durch eine Folge von Zeichen Ihrer Wahl (z.B. eine Timestamp) ersetzt werden. - Verwenden Sie eine CSV-Exportbibliothek, die mit dem Standard-CSV-Format kompatibel ist.
- Verwenden Sie Kommazeichen für das Trennen der Felder in einer Zeile.
- Wenn ein Feld keinen Wert hat, lassen Sie es leer. Beispiel:
value1,,value3,value4
- Verwenden Sie in den Feldern keine Neue-Zeile-Zeichen, weder ohne noch mit Anführungszeichen.
- Verwenden Sie UTF-8-Codierung.
- Schließen Sie die Feldnamen in der ersten Zeile (Header) ein und vergewissern Sie sich, dass alle nachfolgenden Zeilen jene Werte enthalten, die den im Header gelisteten Feldern entsprechen. Wenn Sie sich bei der Vorgehensweise nicht sicher sind, kontaktieren Sie bitte den Emarsys Support.
- Verwenden Sie nicht mehr als 255 Spalten.
- Verwenden Sie keine Feldwerte, die größer als 64 KB sind.
- Vergewissern Sie sich, dass die erforderlichen Felder die Groß-/Kleinschreibung beachten; andernfalls werden sie vom System nicht erkannt. 'Price' ist nicht dasselbe wie 'price'. 'Price' wird als benutzerdefiniertes Feld erkannt und erhält ein Präfix, etwa f_; das Ergebnis ist f_Price. In diesem Fall würde das Feld für den Preis fehlen.
- Wenn Sie Kaufdaten nach Smart Insight importieren, achten Sie bitte darauf, Kleinbuchstaben für die Standardfelder zu verwenden.
SI sales data file size hard limit for the upload is 10 GB.
Beispieldatei
Beispiel gefällig? Klicken Sie hier, um zu sehen, wie eine Salesdaten-Datei aussieht, oder laden Sie eine Beispieldatei herunter.
Spalten zu einer bereits verwendeten Salesdaten-Datei hinzufügen
Auch wenn Sie bereits mit einer voll funktionsfähigen Implementierung von Smart Insight arbeiten, können Sie immer noch Spalten zum Salesdaten-CSV hinzufügen, ohne völlig neu laden zu müssen.
Beim Hinzufügen neuer Spalten gilt es besonders zwei Dinge zu beachten:
- Fügen Sie die neuen Spalten am Ende des konfigurierten Headers hinzu (Spaltenliste).
- Behalten Sie die bestehende Reihenfolge der Spalten bei.
Wenn Sie die Reihenfolge der bestehenden Spalten ändern oder neue Spalten zwischen bestehenden Spalten einfügen, werden Teile der historischen Salesdaten überschrieben. Diese Daten können wir nicht wiederherstellen; dazu ist ein vollständiger Reload von Smart Insight erforderlich.
Detaillierte Informationen zum Bearbeiten von CSV-Dateien erhalten Sie unter: In Verwendung befindliche CSV-Dateien anpassen
Erforderliche Felder
Standardfelder
Diese Felder sind für die Emarsys Standardfunktionen erforderlich.
Feld | Erforderlich | Typ | Beispiel | Beschreibung |
---|---|---|---|---|
item | yes | String | BOOK0012 |
|
price | yes | Float | 110.30 |
|
order | yes | String | 111-U8 |
|
timestamp | yes | Timestamp |
|
Beispiel: Ihr Emarsys Account ist auf Ostküstenzeit (Eastern Time) gesetzt. Der Zeitpunkt des Kaufs ist 09:02 zentrale Standardzeit (Central Time) am 16. Dezember. Wir wollen, dass der Timestamp-Wert im Sales Feed 2021-12-16T10:02:00-05:00 ist. Da der Wechsel zur Sommerzeit keine Auswirkungen auf die UTC hat, müssen Sie sicherstellen, dass der Offset auch diese Änderung widerspiegelt. Bei dem gegebenen Timestamp-Wert und wenn das nächste Sommerzeit-Event die Zeit nach vorne bewegt, würde die Timestamp wie folgt aussehen: 2021-12-16T10:02:00-04:00. Achtung: Wenn Sie die Salesdaten-Datei über das API hochladen, kann das Timestamp-Feld nicht mehr als 25 Zeichen enthalten. Hinweis:
|
customer | Ja (entweder email oder customer ist erforderlich. Verwenden Sie nicht beide!) | String | 12343-14B |
|
email | Ja (entweder email oder customer ist erforderlich. Verwenden Sie nicht beide!) | sportscar_fanatic @gmail.com |
| |
quantity | yes | Float | 5 |
|
Wichtig: Stellen Sie sicher, dass Sie in all Ihren Salesdaten-Dateien für die Nutzeridentifizierung entweder customer
oder email
verwenden und diese beiden Methoden nicht mischen.
Loyalty Felder
Wenn Sie Emarsys Loyalty verwenden, müssen In Ihrer Salesdaten-Datei auch diese Felder enthalten sein.
Alle Loyalty Felder müssen unter Smart Insights Settings > Purchase fields als filterbar eingerichtet werden.
Feld | Erforderlich | Typ | Beispiel | Beschreibung |
---|---|---|---|---|
s_market | yes | String | Germany |
|
f_original_price | yes | Float | 3549.92 |
|
s_original_currency | yes | String | USD |
|
s_coupon | yes | String | AX692374 | Bitte geben Sie hier alle Coupons und Gutschein-Codes ein, die Ihr Nutzer beim Checkout genutzt hat. Bei mehreren Coupons/Codes können Sie diese durch ein Komma trennen. Wenn der Coupon nicht für einen bestimmten Artikel verwendet wurde, können Sie für alle gekauften Artikel denselben Coupon-Code übergeben; für jede Bestellung berücksichtigen wir jeweils nur die eindeutigen Codes. Loyalty verwendet dieses Feld für das Empfehlungsprogramm; so weiß es, dass der empfohlene Nutzer einen Kauf mit einem Coupon-Code getätigt hat, welchen er von einem Loyalty Member erhalten hat. Weitere Informationen erhalten Sie unter: Empfehlungsprogramm |
Loyalty - Anforderungen für Abbrüche und Rückvergütungen
Wenn Sie zurückgegebene Artikel oder widerrufene Bestellungen übergeben, verwenden Sie stets die Order ID, Customer ID und Item ID der Originalbestellung und übergeben Sie im Feld für den Preis, im Feld für die Stückzahl und in f_original_price
jeweils einen negativen Wert. Bitte vergewissern Sie sich, dass die Felder in Ihrer Salesdatendatei exakt auf diese Weise ausgefüllt sind, andernfalls werden die Rückerstattungen in Ihren Reports nicht korrekt ausgewiesen.
Use Cases
Ich verwende das Shopify Plugin, kann jedoch keine zusätzlichen Spalten zu meinen Salesdaten hinzufügen. Was kann ich tun?
Wenn Sie das Shopify Plugin verwenden, besteht keine Notwendigkeit, die drei zusätzlichen Felder für Loyalty hinzuzufügen, da das Plugin ohnehin nur auf der Shopify Website market funktioniert. Loyalty verwendet das Feld price
statt des Feldes f_original_price
.
Ich arbeite in einem einzigen Markt mit einer einzigen Währung, möchte jedoch, dass die Spalte für den Preis nur den Nettopreis enthält. Was kann ich tun?
In diesem Fall sollten Sie die zusätzlichen drei Felder hinzufügen; f_original_price
sollte den Preis enthalten, für den Sie Punkte vergeben wollen, also den Bruttopreis.
Retail-Felder
Die Felder s_sales_channel
und s_store_id
sind Teil eines Features, das derzeit nur für Retail-Kunden verfügbar ist.
Wenn Sie das Strategie-Dashboard für Retail verwenden, müssen diese drei Felder ebenfalls in Ihrer Salesdaten-Datei enthalten sein.
Feld | Erforderlich | Typ | Beispiel | Beschreibung |
---|---|---|---|---|
s_sales_channel | yes | String | online" | Der Sales-Kanal der Bestellung. Der Wert ist entweder "online" oder "offline". |
s_store_id | yes | String | 87" | Die externe ID des Store. |
Benutzerdefinierte Felder
Neben den Pflichtfeldern für die Salesdaten können Sie benutzerdefinierte Felder verwenden, um weitere Informationen zur Salesdaten-Datei hinzuzufügen. Die Namen der benutzerdefinierten Felder müssen mit einem Präfix beginnen, das den Datentyp spezifiziert. Auf das Präfix muss ein Unterstrich (_
) folgen, danach kommt der Name der benutzerdefinierten Spalte. Wenn der Name eines Feldes aus mehreren Wörtern besteht, muss jedes Wort mit einem Kleinbuchstaben beginnen und alle Wörter müssen durch Unterstriche getrennt sein. Zum Beispiel: s_original_currency
.
Wichtig:
- Benutzerdefinierte Felder werden anhand ihres Datentyps überprüft; wenn die übergebenen Werte nicht mit dem erwarteten Datentyp übereinstimmen, wird die Salesdaten-Datei zurückgewiesen.
- Benutzerdefinierte Felder können leer sein. Numerische Felder (
price , quantity , i_ , f_
) können jedoch keine leeren Zeichenfolgen enthalten. So werden zum Beispiel doppelte Anführungszeichen, die keine Werte enthalten (""
), nicht akzeptiert. Numerische Felder mit einem Wert NULL - zum Beispiel doppelte Kommas:,,
- werden akzeptiert. - Benutzerdefinierte Felder werden in Smart Insight nicht aggregiert.
Verfügbare Präfixe für benutzerdefinierte Felder:
Präfix | Typ | Beispiel |
---|---|---|
i_* | Integer | i_customer_age |
f_* | Float | f_customer_height |
t_* | Timestamp | t_date_of_manufacture |
s_* | String | s_book_author |
Beispiel für Salesdaten
Das folgende Beispiel zeigt Bestellungen für einen Schuh-Store mit drei benutzerdefinierten Spalten (die timestamp
ist in UTC spezifiziert):
item,price,order,timestamp,customer,quantity,s_color,f_size,t_published 103-nike-1,24.95,112343,2016-06-06T14:02:00Z,093275854,1,blue,14.5,2016-09-20T15:00:00Z 105-adidas-66,99.95,112343,2016-06-06,493027334,3,black,14.5,2016-09-20T15:00:00Z 107-nike-24,50.99,66234,2016-06-06T17:00:00Z,672985375,1,pink,13.5,2016-08-01
Im folgenden Beispiel ist das Format der timestamp
in Ortszeit mit Informationen zum Zeitzonenoffset spezifiziert (die Zeitzone ist UTC+6):
order,timestamp,customer,item,price,s_channel,quantity,f_unit_price,s_storeid,s_currency,s_colour_code,s_colour_name,s_size_code,s_barcode,s_department,s_class,s_season,s_brand,f_total_discount,f_total_ex_tax,s_voucher_number,s_discount_reason MJB_228762E0022735,2020-07-29T08:47:32+06:00,341472,SHI106S17_Sky,20.30,OFFLINE,1,29,ONLINE,AUD,Sky,Sky,37,9342743705097,Shirts,Item,Spring17,XYZ_Brand,8.70,11.09,,Promotional Discount MJB_228762E0022735,2020-07-29T08:47:32+06:00,341472,SHI267S17_Blue,20.30,OFFLINE,1,29,ONLINE,AUD,Blue,Blue,37,9342743724463,Shirts,Item,Summer17,XYZ_Brand,8.70,11.09,,Promotional Discount MJB_228762E0022735,2020-07-29T08:47:32+06:00,341472,SHI229S18_PinkNavy,20.30,OFFLINE,1,29,ONLINE,AUD,Pink/Navy,Pink/Navy,37,9342743788434,Shirts,Item,Summer 18,XYZ_Brand,8.70,12.91,,Promotional Discount MJB_228840E0022736,2020-07-29T08:48:42+06:00,538691,SHI302S18_Navy,34.30,OFFLINE,1,49,ONLINE,AUD,Navy,Navy,48,9342743790086,Shirts,Item,Spring 18,XYZ_Brand,14.70,25.64,,Promotional Discount MJB_228856E0022737,2020-07-29T08:49:41+06:00,527149,SHI289S18_Denim,20.30,OFFLINE,1,29,ONLINE,AUD,Denim,Denim,S,9342743789516,Shirts Casual,Item,Summer 18,XYZ_Brand,8.70,9.28,,Promotional Discount MJB_228825E0022738,2020-07-29T08:50:43+06:00,462561,SHI140W19_SkyWhite,34.30,OFFLINE,1,49,ONLINE,AUD,Sky/White,Sky/White,42,9342743802130,Shirts,Item,Autumn19,XYZ_Brand,14.70,25.64,,Promotional Discount MJB_228835E0022739,2020-07-29T08:52:05+06:00,527806,SHI210S18_Blue,20.30,OFFLINE,1,29,ONLINE,AUD,Blue,Blue,46,9342743784351,Shirts,Item,Summer 18,XYZ_Brand,8.70,11.09,,Promotional Discount MJB_228835E0022739,2020-07-29T08:52:05+06:00,527806,SHI284S18_Sky,20.30,OFFLINE,1,29,ONLINE,AUD,Sky,Sky,46,9342743785556,Shirts,Item,Summer 18,XYZ_Brand,8.70,11.09,,Promotional Discount
Rückgaben, Abbrüche und Rückvergütungen
Wenn Sie zurückgegebene Artikel oder widerrufene Bestellungen übergeben, verwenden Sie stets die Order ID, Customer ID und Item ID der Originalbestellung und übergeben Sie in den Feldern price
, quantity
und f_original_price
jeweils einen negativen Wert. Bitte vergewissern Sie sich, dass die Felder in Ihrer Salesdatendatei exakt auf diese Weise ausgefüllt sind, andernfalls werden die Rückerstattungen in Ihren Reports nicht korrekt ausgewiesen.
Beispiel
Nehmen wir an, ein Kunde kauft drei Artikel:
Order ID | Datum | Customer ID | Item ID | price | quantity | s_market | f_original_price | s_original_currency |
---|---|---|---|---|---|---|---|---|
OR12345 | 15.10.2015 | CU54343 | IT8798 | 45 | 1 | HU | 14234.76 | HUF |
OR12345 | 15.10.2015 | CU54343 | IT2235 | 30 | 1 | HU | 9546.23 | HUF |
OR12345 | 15.10.2015 | CU54343 | IT8840 | 25 | 1 | HU | 3452.45 | HUF |
Eine Woche später entscheidet er sich, zwei der Artikel zurückzugeben; das sollte in der Salesdaten-Datei wie folgt erfasst werden:
Order ID | Datum | Customer ID | Item ID | price | quantity | s_market | f_original_price | s_original_currency |
---|---|---|---|---|---|---|---|---|
OR12345 | 22.10.2015 | CU54343 | IT2235 | -30 | -1 | HU | -9546.23 | HUF |
OR12345 | 22.10.2015 | CU54343 | IT8840 | -25 | -1 | HU | -3452.45 | HUF |
Diese zwei Teile der Bestellung werden dann in eine einzige Bestellung mit einem Gesamtwert von 45 aggregiert, während das Bestelldatum unverändert bleibt (d.h., Emarsys behält das Datum der ursprünglichen Bestellung bei).
FAQ zu Smart Insight und den Salesdaten
Warum ist das API die bevorzugte Methode für das Hochladen von Salesdaten?
Verglichen mit dem Upload von Salesdaten via SFTP bietet der Upload über das API große Vorteile. Zu diesen gehören:
- Salesdaten, die über das API hochgeladen werden, haben Einfluss auf die Produktempfehlungen, während Salesdaten, die über Smart Insight SFTP hochgeladen werden, keinen Einfluss haben. Die Methode selbst macht den Unterschied.
- Bei der Verwendung von SFTP wird Ihre Datei nicht sofort validiert, woduch sich die Problembehandlung verlangsamt.
- SFTP Accounts müssen eingerichtet werden, während das Salesdaten-API für das Self-Service zur Verfügung steht.
- Bei SFTP müssen Sie stets darauf achten, der Salesdaten-Datei einen eindeutigen Namen zu geben, damit frühere Uploads nicht überschrieben werden.
Was passiert, wenn der Customer Identifier (email oder customer_id) in einer oder allen Zeilen der Salesdaten-Datei fehlt?
Wenn der Customer Identifier in einer oder allen Zeilen der Salesdaten-Datei fehlt, können Sie Ihre Salesdaten nur über das Smart Insight SFTP hochladen (nicht über das Predict API). In diesem Fall erstellt Emarsys einen Pseudokontakt für Ihren Account und ordnet alle Bestellungen mit fehlender Kundenidentifizierung diesem Kontakt zu. Wenn Sie Ihre Salesdaten-Dateien häufig mit fehlenden Customer IDs übergeben, erstellt Emarsys unter Umständen für jede betroffene Bestellung einen neuen Pseudokontakt.
Pseudokontakte erhalten in unserer Kontaktdatenbank eine eindeutige Customer ID und erscheinen als generiert auf den Smart Insight Screens.
Ganz allgemein empfehlen wir, dieses Szenario zu vermeiden, da die Erstellung von Pseudokontakten das Smart Insight Scoring und Reporting verzerren kann.
Was passiert, wenn ein Kunde in der Emarsys Kontaktdatenbank nicht gefunden werden kann?
Wenn Sie das Smart Insight SFTP für das Hochladen Ihrer Salesdaten verwenden, werden Bestellungen, für die email oder Customer ID in der Emarsys Kontaktdatenbank fehlt, trotzdem verarbeitet; der unbekannte Kontakt erhält eine Customer ID und wird in den Customer Lifecycle Berichten als generiert ausgewiesen. Anhand des Filters "generiert" kann der Kontakt von den regulären Kontakten in Ihrer Kontaktdatenbank getrennt werden.
Wenn diese generierten Kontakte später explizit identifiziert werden, verwandeln sie sich beim nächsten Data Load in reguläre Kontakte.
Gibt es beim Übertragen von Salesdaten ein Upload-Limit?
Wenn die kumulierte Größe der von Ihnen in einem Vorgang hochgeladenen Dateien 10 GB übersteigt, benachrichtigen Sie bitte den Emarsys Support, da diese Dateien unserer besonderen Aufmerksamkeit bedürfen.