Von Content Management bis New Work: Die digitalen Trends 2017 unserer Experten

Digitale Trends 2017

Digitale Trends 2017Der Anfang eines Jahres ist häufig der Zeitpunkt, an dem man zurückschaut auf das, was im vergangenen Jahr erreicht worden ist, und sich mit dem beschäftigt, was das vor einem liegende Jahr an Entwicklungen und Themen bringen wird. Auch wir bei comspace haben dies getan: In diesem Beitrag fassen einige unserer digitalen Experten für Sie zusammen, welche Trends oder weiterhin prägenden Entwicklungen sie für ihren jeweiligen Fachbereich für die kommenden Monate und darüber hinaus sehen. Von Content Management über Digital Marketing und Webdesign bis zu Human Relations – gewinnen Sie im Folgenden einen Einblick in unsere ganz persönlichen digitalen Prognosen.

Content Management Systeme

von Johannes Tappmeier, Account Management

Nahtlose Integration von Unternehmenssystemen

In unserem Vertriebsalltag erleben wir immer wieder die Herausforderung vieler Unternehmen, unterschiedliche, nicht miteinander kommunizierende Unternehmenssysteme parallel bedienen und pflegen zu müssen. Dies kostet viel Zeit, ist fehleranfällig und verschenkt Potential für eine konsistente Kundenansprache.

Die Entwicklung zum nahtlosen Zusammenspiel von Backend-Systemen, die für verschiedene Funktionalitäten im Marketing- und Sales-Prozess verantwortlich sind wie:

ist unaufhaltsam und für den Geschäftserfolg essentiell. Ziel sollte es sein, Systeme durch intelligente Schnittstellen und Automatismen miteinander zu verbinden. So entsteht eine integrierte, unternehmensübergreifende Plattform, auf der alle erforderlichen Geschäftsprozesse mit unterschiedlichen Rollen und Rechten abgebildet und gesteuert und damit Redundanzen vermieden werden können.

Automatisierte Personalisierung

Durch eine optimale Integration der Unternehmenssysteme bietet sich auch die Chance, Workflows zu automatisieren und Angebote für potentielle Kunden zu personalisieren, um diese auf ihrer Customer Journey vom ersten Interesse an dem Unternehmensangebot bis zum After-Sales-Service zu begleiten. Aus Datenanalysen der verknüpften Systeme lassen sich Bedarfe und Persona Verhalten ableiten. Als Ergebnis können Unternehmen relevante und individuell angepasste Informationen, Zusatzangebote und Services für einzelne Kunden entwickeln und automatisiert anbieten.

Im Marketing können die Unternehmens- und Produkt-Webseiten durch die oben bereits erwähnten Datenquellen und digitale Erkenntnisse über das individuelle Verhalten der Kunden automatisch angepasst werden. Die Relevanz für die Kunden wird dadurch erzeugt, dass mehr Inhalte gezeigt werden, die der Kunde sehen will und weniger, die für den Kunden uninteressant sind.   

Dezentrale Redaktionsprozesse

Insbesondere für international tätige Unternehmen ist der Einsatz von professionellen Content Management Systemen wichtig, die die dezentrale Pflege und Verteilung von Inhalten ermöglichen, um länderspezifische Angebote und Besonderheiten berücksichtigen und schnell und flexibel auf Änderungen reagieren zu können. 

Der Trend liegt dabei weniger in den schon länger möglichen dezentralen Redaktionsprozessen, als vielmehr in der immer individuelleren Arbeitsweise der Redakteure. Distributed Teams, die nicht nur weltweit verteilt sind, sondern von Unternehmensstandorten, aus dem Home Office oder direkt beim Kunden arbeiten, sind dabei sowohl auf dezentrale Redaktionsprozesse angewiesen als auch auf flexibel an weltweite Zeitzonen und an New Work Modelle angepasste Arbeitszeiten.

Weitere Entwicklungen in Content Management und Marketing haben wir auch in diesem Blogbeitrag aufgezeigt.

E-Commerce

von Marcus Knittel, Account Management

Das Übersetzen der technologischen Möglichkeiten in echten Kundennutzen ist eine der zentralen Herausforderungen im E-Commerce 2017. Für den Shop-Betreiber kommt es immer mehr auf das effektive Zusammenspiel von Commerce, Content und Customer-Orientation an. Reine Shop-Funktionalitäten müssen durch zielgruppen- und themenbezogene Inhalte, einen individuellen Kundenservice und Analysemöglichkeiten aus verschiedenen Datenquellen ergänzt werden, um die Kunden optimal zu erreichen. Dafür werden integrierte und vordenkende Systeme benötigt, die im Hintergrund sinnvoll miteinander kommunizieren. So können auch die Mitarbeiter, die diese Kundenerlebnisse im Hintergrund schaffen, effizient und fokussiert arbeiten.

Sowohl im B2C- als auch für den B2B-Commerce gibt es also auch in 2017 noch viel Potential. Die konsequente Digitalisierung von Handelsprozessen und die Einbindung aller Vertriebskanäle und Geschäftspartner in eine einheitliche E-Commerce-Strategie steigern Wertschöpfung und Wachstum.

Digital Marketing

von Marco Hüsener, Marketing

Personalisierung und Automatisierung

Für mich steht in diesem Jahr die personalisierte Kundenansprache als fortschreitender Trend im Fokus. Dazu benötigt man einerseits die Technologie, welche die Daten erhebt und aufbereitet, und andererseits das Verständnis und die Ressourcen auf Marketing-Seite, um die Möglichkeiten zu erkennen und inhaltlich mit Leben zu füllen. Marketing und Technologie verzahnen sich zunehmend – das macht vieles vielleicht auf Anhieb nicht einfacher, aber es sorgt definitiv für spannende Entwicklungen und Innovationen. Richtig genutzt profitieren beide Seiten (also Kunde und Anbieter) von personalisierten Marketingmaßnahmen: Die Kunden erhalten auf ihre Interessen und ihr Kaufverhalten abgestimmte Angebote und Informationen. Die Anbieter lernen ihre Kunden zunehmend besser kennen, können automatisierter zielgruppenorientierten Content ausspielen und dadurch die Kundenbindung erhöhen.

Künstliche Intelligenz

Künstliche Intelligenz, sei es in Form von Assistenten, wie Chatbots oder anderen Algorithmen, werden den Einzug ins Marketing fortsetzen und im Mainstream ankommen. Die Einsatzmöglichkeiten der Dienste sind nahezu unbegrenzt und werden vorerst in den Bereichen Service und Kundensupport Einzug halten. Die Verknüpfung mit nutzerbezogenen Daten werden aber den echten Mehrwert solcher Dienste zu Tage bringen.

Beispielsweise sind hinzugezogene Standortdaten bei einer Hotelbuchung oder die informationsangereicherte Navigation per Smartphone unter Berücksichtigung meiner Route, Reisegeschwindigkeit und verfügbaren Verkehrsdaten nützliche Anwendungsszenarien. 

Die Assistenzsysteme betrachte ich daher persönlich als eine Bereicherung, da diese Services noch weit entfernt sind von der selbstlernenden KI und der Mehrwert durchaus gegeben ist.

Weitere interessante Informationen zu dem Thema finden Sie hier:

10 Anwendungsfälle für KI

Microsoft setzt auf künstliche Intelligenz und Chatbots

Online Marketing

von Linnea Bak, Online Marketing

Mobile Suche – An der mobilen Optimierung führt 2017 kein Weg mehr vorbei

Die mobile Suche ist in den letzten Jahren in einem rasanten Tempo gewachsen und zeigt keine Anzeichen für eine Verlangsamung. Der Besucher-Traffic verlagert sich vom Desktop weg hin zu Smartphones und Tablets.

Seit einigen Jahren unternimmt Google viele Schritte, die signalisieren, dass nicht das Desktop, sondern das mobile Endgerät als die Standard-User Experience betrachtet werden sollte. Vor kurzem hat Google angekündigt darauf hinzuarbeiten, ihren primären Suchindex sukzessiv auf „mobile-first“ umzustellen.

Bereits jetzt ist die mobile Optimierung eine sehr wichtige SEO-Strategie. Sie wird 2017 weiterhin an Bedeutung gewinnen. Wenn Sie mit responsivem Webdesign oder dynamische Bereitstellung ihren Content für die Darstellung auf allen Bildschirmgrößen angepasst haben, sollten Sie gut aufgestellt sein.

Wenn die mobile Version ihrer Website eine eigene URL hat (zB m.ihredomain.de), sollten Sie einige Empfehlungen von Google hierzu beachten. Websites, die nicht für Mobilgeräte optimiert sind, werden weiter Positionen in den Google Suchergebnissen verlieren. Auf dieser Seite von Google können Sie Ihre Website auf Mobilgerätefreundlichkeit  testen.

Social Media und Content Marketing

von Alex Kahl, Social Media Strategie

Im Social Bereich sehe ich derzeit keine Mega-Trends. Vielmehr wird man sich noch mehr auf (Live)-Video und Stories konzentrieren. Seien es Facebook, Instagram oder auch Snapchat. Der Schlüssel zum Erfolg liegt in großartigem Content, der den Kunden einen echten Nutzen bringt. Der Content wird für mobile first entwickelt und die User Experience in den eigenen Kanälen wird ständig verbessert. 

Eine Sache, die wir uns insbesondere online immer und immer wieder vor Augen führen müssen ist: Niemand da draußen wartet auf unsere Inhalte! Wir müssen jede Sekunde mit unseren Wettbewerbern um die Aufmerksamkeit unserer Leser und Nutzer, der täglichen Arbeit unserer Kunden, mit den Nachrichten und Game of Thrones konkurrieren.  

Also machen wir unseren Nutzern den Content so einfach wie möglich zugänglich, schneiden den Content auf den Kontext der Kanäle in denen sie sich bewegen genau zu, machen den Content absolut relevant für den individuellen Nutzer und liefern den Content so schnell wie möglich aus, damit die Entscheidung der Nutzer für unseren Content fällt.

Webdesign

von Axel Salder, Frontend Entwicklung

Seit geraumer Zeit, so scheint es, sehen Webseiten relativ ähnlich aus. Der Aufbau unterscheidet sich nur marginal. Gerade mobile Ansichten zeigen meist eine 1-spaltige Version der Module. Mit einer neuen Methode namens CSS Grid Layout könnte ein wenig Abwechslung ins Spiel kommen. Sieht die Unterstützung der Browser aktuell noch recht mager aus, so ändert sich dies vermutlich im März. Dann nämlich erhalten auch die Browser Firefox und Chrome Unterstützung für CSS Grid Layout. Hoffen wir, dass diese Tatsache den Designern etwas mehr Experimentierfreudigkeit einhaucht!

Hosting

von Benjamin Heilmann, Account Management

Beim Betrieb einer nicht übermäßig komplexen Infrastruktur hat das klassische Hosting weitgehend ausgedient. Den Markt für IaaS (Infrastructure as a Service) bedienen heute vorwiegend die Platzhirsche Microsoft (mit dem Clouddienst „Azure“) und insbesondere Amazon mit AWS. Auch den Sicherheitsaspekten deutscher Unternehmen haben diese Platzhirsche mittlerweile Rechnung getragen: So betreiben Amazon und Microsoft Rechenzentren u. a. in Frankfurt a. M. Auch Google plant den Aufbau eines RZ in der Mainmetropole.

Bei der Wahl des passenden Clouddienstes und der Skalierung sollte eine umfängliche Beratung allerdings nicht zu kurz kommen. Der Grad an Komplexität, den der Aufbau einer Cloud-Infrastruktur bedeutet, ist nicht zu unterschätzen.

Die Agentur oder der Hosting-Provider können durch zusätzliche Leistungen wie das Monitoring der Plattform und der Anwendungen, der Definition eines geeigneten Backup-Plans, einen 24/7 Service mit Rund-um-die-Uhr-Betreuung diese Komplexität ein Stück weit reduzieren bzw. verlagern.

Welchen Mehrwert das Verlagern der Infrastruktur von physischen Servern in die Cloud bietet und welche Herausforderungen damit verbunden sind, erklärt Ihnen Johannes Tappmeier, Head of Account Management, in diesem Video.

Human Relations

von Sarah Biendarra, People and Culture

Das Thema Digitalisierung macht auch vor HR nicht halt. Einen großen Umschwung in Richtung Virtual Reality-Arbeitgebermarketing, Chatbot-Recruiting oder Bewerberauswahl mit People Analytics sehe ich in diesem Jahr aber nicht. Vielleicht in 2020. 😉 In den kommenden Monaten muss HR deutlich interdisziplinärer werden, d.h. HR ist nicht mehr nur “was mit Menschen”, sondern auch “was mit Menschen und IT”. Das bedeutet für mich nicht nur Google Analytics für die Jobseite, sondern auch Arbeitgebermarketing über Social Media und Recruiting via Direct Sourcing. Darüber hinaus muss sich HR mehr Marketing- und PR-Themen annähern und sich generell stärker vernetzen, sowohl innerhalb des eigenen Fachbereichs als auch mit anderen Disziplinen.

von Hanna Drabon, Spende dein Talent

Im Rahmen meiner Gespräche mit  Unternehmen steht immer wieder das Thema “Digitale Führung” im Fokus. Wie kann man die “Arbeit 4.0” in die Unternehmens- und Arbeitskultur einbinden? Was heißt eigentlich “Digitales Arbeiten”? Wie kann ich meine Mitarbeiter und besonders meine Führungskräfte bei diesem Wandel begleiten?

Unternehmens- und kulturindividuelle Antworten auf diese Fragen zu finden wird zur Herausforderung der nächsten Jahre für Unternehmen aller Branchen. Dabei spielt zwar auch die technische Digitalisierung, wie die Nutzung kollaborativer Tools und Methoden eine Rolle, es bedarf jedoch auch den Fokus auf ein stärkeres zwischenmenschliches Networking über Abteilungen und Hierarchien hinweg. Denn die in der Gesellschaft bereits gelebte digitale Vernetzung ist in der Arbeitswelt noch nicht überall angekommen. Hier geht es darum, starre Hierarchien aufzulösen zugunsten kleiner, agiler und interdisziplinär arbeitender Teams, die ihr Wissen miteinander teilen. So entstehen Ideen, die Herausforderungen schneller und intelligenter lösen werden.

Hinzu kommt der Trend zur Individualisierung der Arbeit, ob bei Arbeitszeit oder -ort. Flexible Rahmenbedingungen, die sich der individuellen Lebensphase anpassen, schaffen Freiräume für  mehr Motivation und Innovation.

Welche interessanten Entwicklungen oder Trends seht ihr in eurem digitalen Arbeitsumfeld? Wir freuen uns auf eure Kommentare!

Sitecore Commerce Connect – Teil 5: Warenkorb verwalten

Bisher ging es in dieser Serie um die Verwaltung und Darstellung von Produkten und Preisen aus Hybris. Das Ziel dieses Artikels ist es auch erste Prozesse rund um den Warenkorb mittels Sitecore Commerce Connect abbilden zu können.

Warenkorb

Die zentrale Überlegung am Anfang eines Projektes ist, welches System zu welcher Zeit die Zuständigkeit für den Warenkorb hat. Wird der Warenkorb immer auf beiden Seiten synchron gehalten, das heißt jede Änderung am Warenkorb wird unmittelbar an das externe Shopsystem (kurz ECS) gemeldet, oder wird der Warenkorb im ECS nur zu definierten Zeitpunkten synchronisiert, also z.B. beim Checkout? Letzteres bedingt weniger Requests an das ECS, aber Sitecore-seitig ist dann z.B. eine Warenkorbwertermittlung erforderlich, die im schlechtesten Fall nicht mit der im ECS synchron ist.

Warenkorb-Verwaltung

Im Rahmen unserer Evaluierung ist das ECS für den Warenkorb zuständig und Sitecore meldet alle Änderungen unmittelbar an das ECS. Für die Darstellung auf der Webseite werden die Daten rund um den Warenkorb wiederum immer online vom ECS abgefragt.
Außerdem haben wir uns entschieden, den mitgelieferten Engagement Plan ‘Abandoned Carts’ gleich mit zu nutzen, zumal dafür scheinbar keine weitere Implementierung erforderlich ist.

Warenkorb anlegen/ abfragen

Für alle Funktionen rund um den Warenkorb ist der Service Provider ‚CartServiceProvider‘ des Cart Service Layers zuständig.

Beispiel Verwendung CartServiceProvider.CreateOrResumeCart

[csharp]
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using Comspace.Sitecore.CommerceConnect.Services.Prices;
using Sitecore;
using Sitecore.Analytics;
using Sitecore.Commerce.Entities.Carts;
using Sitecore.Commerce.Services.Carts;
using Sitecore.Commerce.Services.Prices;
using Sitecore.Data;

namespace Comspace.Sitecore.CommerceConnect.Services.Carts
{
/// <summary>
/// Sitecore.Commerce.Carts.config
/// </summary>
public class CartManager
{
public const string TrackerAttachmentKeyCart = "Comspace.Sitecore.CommerceConnect_Cart";

public static Cart GetCart()
{
if (!Tracker.Current.Contact.Attachments.ContainsKey(TrackerAttachmentKeyCart))
{
//create cart
var createOrResumeCartRequest = new CreateOrResumeCartRequest(
"Website",
Context.User.Profile.Email,
"Default",
Context.User.Profile.Email); //NOTE FindCartInEaState: c.CustomerId == request.CustomerId
var cart = new CartServiceProvider().CreateOrResumeCart(createOrResumeCartRequest).Cart;

//persist cart
Tracker.Current.Contact.Attachments[TrackerAttachmentKeyCart] = cart;
}
return Tracker.Current.Contact.Attachments[TrackerAttachmentKeyCart] as Cart;
}
}

//…
}
[/csharp]

Pipeline loadCart

Die Anbindung des ECS erfolgt mittels Erweiterung der Pipeline ‚loadCart‘ der Sitecore.Commerce.Carts.config.
.config

[xml]
<!– LOAD CART
Gets the cart object that matches the specified criteria.
This pipeline is responsible for reading data for a specific cart that is managed by the commerce system.
This pipeline reads the cart data from the commerce system and converts that data into the Commerce format.
–>
<commerce.carts.loadCart>
<processor type="Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Carts.LoadCart, Comspace.Sitecore.CommerceConnect.Hybris" patch:after="processor[@type=’Sitecore.Commerce.Pipelines.Carts.LoadCart.LoadCartFromEaState, Sitecore.Commerce‘]"/>
</commerce.carts.loadCart>
[/xml]

Processor LoadCart

[csharp]
using Comspace.Sitecore.CommerceConnect.Hybris.Connector;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector.Model.Cart;
using Comspace.Sitecore.CommerceConnect.Services.Carts;
using Sitecore.Commerce.Entities.Carts;
using Sitecore.Commerce.Pipelines;
using Sitecore.Commerce.Pipelines.Carts.Common;
using Sitecore.Commerce.Services.Carts;

namespace Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Carts
{
/// <summary>
/// commerce.carts.loadCart
/// </summary>
public class LoadCart : CartPipelineProcessor
{
public override void Process(ServicePipelineArgs args)
{
var loadCartRequest = args.Request as LoadCartRequest;

//get from ECS
ExternalCart externalCart = CartConnector.Load(global::Sitecore.Context.Language.Name, loadCartRequest.UserId);

//convert to commerce connect cart
Cart cart = new Cart();
cart.ExternalId = externalCart.Code;
cart.ShopName = loadCartRequest.ShopName;
cart.UserId = loadCartRequest.UserId;

//init totals
cart = CartManager.UpdateCartTotals(cart); //NOTE prevent multiple request

//persist for next processor
((CartResult) args.Result).Cart = cart;
}
}
}
[/csharp]

Produkt zum Warenkorb hinzufügen

Beispiel Verwendung CartServiceProvider.AddCartLines

[csharp]
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using Comspace.Sitecore.CommerceConnect.Services.Prices;
using Sitecore;
using Sitecore.Analytics;
using Sitecore.Commerce.Entities.Carts;
using Sitecore.Commerce.Services.Carts;
using Sitecore.Commerce.Services.Prices;
using Sitecore.Data;

namespace Comspace.Sitecore.CommerceConnect.Services.Carts
{
/// <summary>
/// Sitecore.Commerce.Carts.config
/// </summary>
public class CartManager
{
//…

public static Cart AddLine(string externalId, string sitecoreItemId, uint quantitiy)
{
Cart cart = GetCart();

//create cartlines
List<CartLine> lines = new List<CartLine>
{
new CartLine
{
Product = new CartProduct
{
ProductId = externalId,
SitecoreProductItemId = new ID(sitecoreItemId),
Price = PriceManager.GetPrice(externalId, Context.Language)
},
Quantity = quantitiy,
LineNumber = (uint) (cart.Lines.Count + 1)
}
};

//add cart lines
AddCartLinesRequest addCartLinerequest = new AddCartLinesRequest(cart, new ReadOnlyCollection<CartLine>(lines));
CartResult cartResult = new CartServiceProvider().AddCartLines(addCartLinerequest);

return cartResult.Cart; //result contains the updated cart
}
}
}
[/csharp]

Pipeline addCartLines

.config

[xml]
<!– ADD CART LINES
This pipeline is responsible for adding a new line to the shopping cart and recording a corresponding page event in DMS.
This happens when a product is added to the cart.
–>
<commerce.carts.addCartLines>
<processor type="Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Carts.AddLineToCart, Comspace.Sitecore.CommerceConnect.Hybris" patch:after="processor[@type=’Sitecore.Commerce.Pipelines.Carts.AddCartLines.AddLinesToCart, Sitecore.Commerce‘]"/>
</commerce.carts.addCartLines>
[/xml]

Processor AddCartLines

[csharp]
using System.Linq;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector;
using Sitecore.Commerce.Entities.Carts;
using Sitecore.Commerce.Pipelines;
using Sitecore.Commerce.Services.Carts;

namespace Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Carts
{
/// <summary>
/// commerce.carts.addCartLines
/// </summary>
public class AddLineToCart : PipelineProcessor<ServicePipelineArgs>
{
public override void Process(ServicePipelineArgs args)
{
var cartLinesRequest = args.Request as CartLinesRequest;

//add to ECS
Cart cart = cartLinesRequest.Cart;
CartLine cartline = cartLinesRequest.Lines.First();
CartConnector.AddLineToCard(global::Sitecore.Context.Language.Name, cart, cartline);
}
}
}
[/csharp]

Warenkorb Summen

Damit die Summen im Warenkorb immer korrekt sind und keine Sitecore-seitige Berechnung stattfinden muss, werden auch die Warenkorb Summen immer online aus dem ECS geholt. Dafür muss die Pipeline ‘saveCart’ erweitert werden:

Pipeline saveCart

.config

[xml]
<!– SAVE CART
Saves the cart object to the external system and in Sitecore EA state.
–>
<commerce.carts.saveCart>
<processor type="Comspace.Sitecore.CommerceConnect.Pipelines.Carts.UpdateCartTotals, Comspace.Sitecore.CommerceConnect" patch:after="processor[@type=’Sitecore.Commerce.Pipelines.Carts.Common.SaveCartToEaState, Sitecore.Commerce‘]"/>
</commerce.carts.saveCart>
[/xml]

Processor UpdateCartTotals

[csharp]
using Comspace.Sitecore.CommerceConnect.Services.Carts;
using Sitecore.Commerce.Entities.Carts;
using Sitecore.Commerce.Pipelines;
using Sitecore.Commerce.Services.Carts;

namespace Comspace.Sitecore.CommerceConnect.Pipelines.Carts
{
/// <summary>
/// commerce.carts.saveCart
/// </summary>
public class UpdateCartTotals : PipelineProcessor<ServicePipelineArgs>
{
public override void Process(ServicePipelineArgs args)
{
var cartRequest = (CartRequestWithCart) args.Request;

//get from ECS
Cart cart = CartManager.UpdateCartTotals(cartRequest.Cart);

//persist for next processor
((CartResult) args.Result).Cart = cart;
}
}
}
[/csharp]

Beispiel Verwendung PricingServiceProvider.GetCartTotal

[csharp]
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using Comspace.Sitecore.CommerceConnect.Services.Prices;
using Sitecore;
using Sitecore.Analytics;
using Sitecore.Commerce.Entities.Carts;
using Sitecore.Commerce.Services.Carts;
using Sitecore.Commerce.Services.Prices;
using Sitecore.Data;

namespace Comspace.Sitecore.CommerceConnect.Services.Carts
{
/// <summary>
/// Sitecore.Commerce.Carts.config
/// </summary>
public class CartManager
{
//…

public static Cart UpdateCartTotals(Cart cart)
{
var request = new GetCartTotalRequest();
request.Cart = cart;

//get from ECS
var cartTotalResult = new PricingServiceProvider().GetCartTotal(request); //result contains the updated cart

Tracker.Current.Contact.Attachments[TrackerAttachmentKeyCart] = cartTotalResult.Cart; //refresh cache
return cartTotalResult.Cart;
}
}
}
[/csharp]

Stolpersteine

Der Processor ‘FindCartInEaState’ benötigt eine CustomerId, damit der Contact ermittelt werden kann. Dafür muss die eigentlich optionale CustomerId mit an den ‘CreateOrResumeCartRequest’ übergeben werden (siehe oben). Anderenfalls wird immer wieder ein neuer Warenkorb angelegt, obwohl für den Contact bereits einer existiert.

Resumé

Und auch diesen letzten Beitrag möchte ich mit ein paar Eindrücken und Erkenntnissen abschließen:

  • Der Cart Sercice Layer ist sehr umfangreich und im Rahmen der Evaluierung konnte nur ein sehr kleiner Ausschnitt evaluiert werden.
  • Eine Herausforderung in einem echten Projekt sind die Zuständigkeit und Synchronisation zwischen dem Sitecore Shop und dem ECS. Was wird wo zwischengespeichert und wann an wen gemeldet?
  • Wie auch schon unter Stolpersteine beschrieben, war der Zugriff auf die Contacts im Engangement Plan (automatisch im Hintergrund) immer wieder holprig. Eine der Ursachen war sicherlich die Entwicklungsumgebung: wechselnde Browser, plötzliche Neustarts etc.  Hier müsste in einem echten Projekt eine kritische Analyse erfolgen.
  • Auch dem Umgang mit Fehlern in der Verarbeitung muss in einem echten Projekt eine hohe Aufmerksamkeit gewidmet werden – Stichwort Transaktionssicherheit.

So, das war’s erstmal von meiner Seite zum Thema Commerce Connect. Ich freue mich über euer Feedback 🙂

Alle voran gegangenen Artikel dieser Serie findet ihr hier:
Teil 1: Ein Überblick
Teil 2: Produkte synchronisieren
Teil 3: Klassifizierungen synchronisieren
Teil 4: Preise darstellen

Sitecore Commerce Connect – Teil 4: Preise darstellen

In den letzten beiden Teilen dieser Serie ging es um die Synchronisation von Produkten und Klassifizierungen. Das Ziel dieses Artikels ist es auch die Preise aus dem externen Shopsystem, in unserem Fall Hybris, auf der Webseite anzeigen zu können.

ProduktDemo

Der Pricing Layer ist ein “klassischer” Layer im Sitecore Commerce Connect, d.h. die Preise werden online abgerufen und nicht synchronisiert. Der Grund: Preise ändern sich häufiger und die Preisfindung ist sehr komplex, hier wird die Hoheit im externen Shopsystem (kurz ECS) belassen.

Preisabfragen

Für die Abfrage von Preisen ist der Service Provider ‚PricingServiceProvider‘ zuständig.

Eine Beispiel:

[csharp]using System.Linq;
using Sitecore.Commerce.Entities.Prices;
using Sitecore.Commerce.Services.Prices;
using Sitecore.Globalization;

namespace Comspace.Sitecore.CommerceConnect.Services.Prices
{
/// <summary>
/// Sitecore.Commerce.Prices.config
/// </summary>
public class PriceManager
{
public static Price GetPrice(string productId, Language language)
{
CustomGetProductPriceRequest request = new CustomGetProductPriceRequest(language.Name, productId);
GetProductPricesResult result = new PricingServiceProvider().GetProductPrices(request);

return result.Prices.Any() ? result.Prices.First().Value : null; //simplified
}
}
}[/csharp]

Um die Preise aus dem ECS abzurufen, muss die Pipeline ‚getProductPrices‘ der Sitecore.Commerce.Prices.config erweitert werden:

Pipeline getProductPrices

.config

[xml]<!– GET PRODUCT PRICES Gets the price object that matches the specified criteria.
This pipeline is responsible for reading pricing data from a commerce system.
This pipeline requests product pricing information from the commerce system and
then converts the output into the proper Commerce format.
–>
<commerce.prices.getProductPrices>
<processor type="Sitecore.Commerce.Pipelines.Prices.GetProductPrices.GetProductPrices, Sitecore.Commerce">
<patch:delete />
</processor>
<processor type="Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Prices.GetProductPrices, Comspace.Sitecore.CommerceConnect.Hybris" />
</commerce.prices.getProductPrices>[/xml]

Processor GetProductPrices

[csharp]using Comspace.Sitecore.CommerceConnect.Hybris.Connector;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector.Model;
using Comspace.Sitecore.CommerceConnect.Services.Prices;
using Sitecore.Commerce.Entities.Prices;
using Sitecore.Commerce.Pipelines;
using Sitecore.Commerce.Services.Prices;

namespace Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Prices
{
/// <summary>
/// commerce.prices.getProductPrices
/// </summary>
public class GetProductPrices : PipelineProcessor<ServicePipelineArgs>
{
public override void Process(ServicePipelineArgs args)
{
var request = args.Request as CustomGetProductPriceRequest;

//get from ECS
ExternalProduct productSource = ProductConnector.Load(request.Language, request.ProductId);
if (productSource != null && productSource.Price != null)
{
//convert to commerce connect price
Price price = new Price
{
Amount = productSource.Price.Value,
CurrencyCode = productSource.Price.CurrencyIso
};

//persist for next processor
((GetProductPricesResult) args.Result).Prices.Add("List price", price); //simplified
}
}
}
}[/csharp]

Stolpersteine

Der ‚GetProductPricesRequest‘ enthielt überraschenderweise kein Attribut für die aktuell zu synchronisierende Sprache. Daher musste dieser überschrieben werden:

[csharp]using Sitecore.Commerce.Services.Prices;

namespace Comspace.Sitecore.CommerceConnect.Services.Prices
{
/// <summary>
/// Extendended GetProductPricesRequest.
/// </summary>
public class CustomGetProductPriceRequest : GetProductPricesRequest
{
public string Language { get; set; }

public CustomGetProductPriceRequest(string language, string productId, params string[] priceTypeIds)
: base(productId, priceTypeIds)
{
Language = language;
}
}
}[/csharp]

Resumé

Zuletzt möchte ich wieder ein paar Eindrücke und Erkenntnisse zusammenfassen:

  • Der Service Layer ist eher klein und schnell erfasst.
  • Was mir wirklich gut gefällt ist, dass die Preishoheit im ECS verbleibt.
  • In umfangreicheren Produklisten sollte zwecks Performance die Nutzung der Methode/Pipeline ‚getProductBulkPrices‘ bevorzugt werden.

Wenn ihr mehr zum Sitecore Commerce Connect wissen wollt, dann schaut mal hier:

Sitecore Commerce Connect – Teil 3: Klassifizierungen synchronisieren

Im letzten Teil dieser Serie ging es um die Synchronisation von Produkten. Das Ziel dieses Blog-Artikels ist es auch Klassifizierungen unidirektional aus dem Sitecore heraus mit dem externen Commerce System (kurz ECS, in unserem Fall Hybris) zu synchronisieren und den Produkten zuzuordnen.

Klassifizierungen sind im Projekt individuell definierbare Spezifikationen zur Beschreibung von Produkten. Die sog. Classifications in Sitecore können über eine Parent-Verknüpfung (ExternalParentID) beliebig geschachtelt werden, die erste Ebene ist aber immer eine Gruppe, eine sog. ClassificationGroup.
ClassificationRepo

Synchronisation Klassifizierungen

Um Klassifizierungen zu synchronisieren muss zunächst die Pipeline ’synchronizeClassifications‘ der Sitecore.Commerce.Products.config erweitert werden:

Pipeline synchronizeClassifications

.config

[xml]
<!– SYNCHRONIZE CLASSIFICATIONS –>
<commerce.synchronizeProducts.synchronizeClassifications>
<processor type="Sitecore.Commerce.Pipelines.Products.SynchronizeClassifications.ReadSitecoreClassifications, Sitecore.Commerce">
<patch:delete />
</processor>
<processor type="Sitecore.Commerce.Pipelines.Products.SynchronizeClassifications.ResolveClassificationsChanges, Sitecore.Commerce">
<patch:delete />
</processor>
<processor type="Sitecore.Commerce.Pipelines.Products.SynchronizeClassifications.SaveClassificationsToExternalCommerceSystem, Sitecore.Commerce" >
<patch:delete />
</processor>
<processor type="Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Classifications.ReadClassifications, Comspace.Sitecore.CommerceConnect.Hybris" patch:after="processor[@type=’Sitecore.Commerce.Pipelines.Products.SynchronizeClassifications.ReadExternalCommerceSystemClassifications, Sitecore.Commerce‘]" />
<processor type="Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Classifications.ReadClassificationGroups, Comspace.Sitecore.CommerceConnect.Hybris" patch:after="processor[@type=’Sitecore.Commerce.Pipelines.Products.SynchronizeClassifications.ReadExternalCommerceSystemClassifications, Sitecore.Commerce‘]" />
</commerce.synchronizeProducts.synchronizeClassifications>
[/xml]

Processor ReadClassificationGroups

[csharp]using System.Collections.Generic;
using System.Linq;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector.Model;
using Sitecore.Commerce.Entities.Products;
using Sitecore.Commerce.Pipelines;
using Sitecore.Commerce.Services.Products;

namespace Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Classifications
{
/// <summary>
/// commerce.synchronizeProducts.synchronizeClassifications
/// </summary>
public class ReadClassificationGroups : PipelineProcessor<ServicePipelineArgs>
{
public override void Process(ServicePipelineArgs args)
{
var request = args.Request as SynchronizationRequest;
var groups = request.Properties["ClassificationGroups"] as List<ClassificationGroup>; //integration guide (page 9)
groups = groups ?? new List<ClassificationGroup>();

//get groups from ECS
IEnumerable<ExternalCategoryGroup> categoryGroups = ClassificationConnector.Load(request.Language);

//convert and add to commerce connect list
groups.AddRange(from @group in categoryGroups
select new ClassificationGroup
{
ExternalId = @group.Code,
Name = @group.Name
});

//persist for next processor
request.Properties["ClassificationGroups"] = groups;
}
}
}[/csharp]

Processor ReadClassifications

[csharp]using System.Collections.Generic;
using System.Collections.ObjectModel;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector.Model;
using Sitecore.Commerce.Entities.Products;
using Sitecore.Commerce.Pipelines;
using Sitecore.Commerce.Services.Products;

namespace Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Classifications
{
/// <summary>
/// commerce.synchronizeProducts.synchronizeClassifications
/// </summary>
public class ReadClassifications : PipelineProcessor<ServicePipelineArgs>
{
public override void Process(ServicePipelineArgs args)
{
var request = args.Request as SynchronizationRequest;
var groups = request.Properties["ClassificationGroups"] as List<ClassificationGroup>; ////integration guide (page 9)
groups = groups != null ? groups : new List<ClassificationGroup>();

foreach (ClassificationGroup group in groups)
{
var classifications = new List<Classification>();

//get categories from ECS
foreach (ExternalCategory externalCategory in ClassificationConnector.Load(group.ExternalId, request.Language)) //TBD
{
//convert to commerce connect classification
var classification = new Classification();
classification.ExternalId = externalCategory.Code;
classification.Name = externalCategory.Name;
classifications.Add(classification);

//…with sub-classifications
HandleSubCategories(externalCategory, classifications);
}
group.Classifications = new ReadOnlyCollection<Classification>(classifications);
}

//persist for next processor
request.Properties["ClassificationGroups"] = groups;
}

private static void HandleSubCategories(ExternalCategory parentCategory, List<Classification> allClassifications)
{
if (parentCategory.Categories != null)
{
foreach (var category in parentCategory.Categories)
{
var classification = new Classification();
classification.ExternalId = category.Code;
classification.Name = category.Name;
classification.ExternalParentId = parentCategory.Code;

allClassifications.Add(classification);
HandleSubCategories(category, allClassifications);
}
}
}
}
}
[/csharp]

Klassifizierungen Produkten zuordnen

Anschließend müssen die Klassifizierungen nur noch den Produkten zugeordnet werden. Und auch dafür muss wieder eine Pipeline der Sitecore.Commerce.Products.config erweitert werden:

Pipeline synchronizeProductClassifications

.config

[xml]<!– SYNCHRONIZE PRODUCT CLASSIFICATIONS
This pipeline is responsible for synchronizing and updating the references between a given product and associated classifications and categories within.
It’s assumed that classifications are already synchronized and present in CMS.
The references to categories are stored directly on the main product item. –>
<commerce.synchronizeProducts.synchronizeProductClassifications>
<processor type="Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Products.ReadProductClassifications, Comspace.Sitecore.CommerceConnect.Hybris" patch:after="processor[@type=’Sitecore.Commerce.Pipelines.Products.SynchronizeProductClassifications.ReadExternalCommerceSystemProductClassifications, Sitecore.Commerce‘]" />
</commerce.synchronizeProducts.synchronizeProductClassifications>[/xml]

Processor ReadProductClassifications

[csharp]using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector;
using Comspace.Sitecore.CommerceConnect.Hybris.Connector.Model;
using Sitecore.Commerce.Entities.Products;
using Sitecore.Commerce.Pipelines;
using Sitecore.Commerce.Services.Products;

namespace Comspace.Sitecore.CommerceConnect.Hybris.Pipelines.Products
{
/// <summary>
/// commerce.synchronizeProducts.synchronizeProductClassifications
/// </summary>
public class ReadProductClassifications : ReadProduct
{
public override void Process(ServicePipelineArgs args)
{
var request = args.Request as SynchronizeProductRequest;
var product = request.Properties["Product"] as Product;
var groups = request.Properties["ClassificationGroups"] as List<ClassificationGroup>;
groups = groups != null ? groups : new List<ClassificationGroup>();

//get product from ECS
ExternalProduct externalProduct = ProductConnector.Load(request.Language, product.ExternalId); //tbd
if (externalProduct != null && IsProductValidForImport(externalProduct))
{
//convert to commerce connect product classification groups and classifications
foreach (ExternalCategoryGroup externalCategoryGroup in externalProduct.CategoryGroups)
{
ClassificationGroup group = new ClassificationGroup();
group.ExternalId = externalCategoryGroup.Code;
group.Name = externalCategoryGroup.Name;

IEnumerable<Classification> classifications = from externalCategory in externalCategoryGroup.Categories
select new Classification
{
ExternalId = externalCategory.Code,
Name = externalCategory.Name
};
group.Classifications = new ReadOnlyCollection<Classification>(classifications.ToList());

groups.Add(group);
}
}

//persist for next processor
request.Properties["ClassificationGroups"] = groups;
}
}
}[/csharp]

Resumé

Mein erster Eindruck:

  • Es gibt viel Dokumentation, aber z.B. zum Thema Zuordnung von Klassifikationen zu Produkten konnte ich nichts finden. Da habt ihr es jetzt ja besser 😉 Häufig war dann doch dotPeek mein bester Freund.
  • Der Differenzabgleich funktionierte problemlos, Mehrsprachigkeit war im Kontext der Zuordnung von Klassifizierungen zu Produkten noch etwas holprig, da sollte ein zweiter Blick erfolgen.

Wenn ihr mehr zum Sitecore Commerce Connect wissen wollt, dann schaut mal hier:

Kundenerlebnis 2.0 – Mercedes-Benz zeigt wie CMS, Social Web und CRM in Zukunft zusammenspielen

Wie werden Kunden zukünftig auf ein Produkt aufmerksam? Wie kann ein moderner Kaufprozess und die darauf folgende Kundenbindung aussehen? Wie werden Content Management und Customer Relationship Management Systeme zukünftig mit ERP-Systemen und dem Social Web zusammen spielen um ein modernes Kundenerlebnis zu gestalten?

Die Antworten auf diese Fragen schlummerten noch in meinen CeBIT 2013 Notizen. Dort fand der Automotive IT Congress statt, auf dem ich den Vortrag von Michael Gorriz (CIO Daimler AG) und Philipp Schiemer (Leiter Marketing Mercedes-Benz Cars) mit dem Titel “Digital-Life” – das digital-reale Mercedes-Benz Kundenerlebnis der Gegenwart und Zukunft hörte.

Mercedes-Benz-CeBIT-Kundenerlebnis
Mercedes-Benz-CeBIT-Kundenerlebnis

Das Ganze ist ein Orchester aus Inhalten, Kommunikations-Kanälen, Big-Data, mobilen Apps, Interaktionen und Kundenbeziehungen in einem großen Produkt-Lebenszyklus unter einem noch größeren Marken-Dach. Dabei ist es für einen Autohersteller deutlich schwieriger, ein integriertes Erlebnis aus Fahrzeugen, Funktionen und Lebensgefühl über das Web bis hin zum Händler zu transportieren, als bsw. für Amazon, die einen eindeutigen Kundenkanal anbieten, in dem sich der Kunde auch eindeutig identifiziert.

Ein neuer Kunde „entsteht“

Doch von Anfang an: Die Kundenerlebnis-Vision (die in Teilen heute bereits umgesetzt werden kann) MyMercedes startete auf Facebook. Dem Interessenten „Philipp S.“ wurde ein Foto der neuen Mercedes-Benz A-Klasse auf Facebook durch einen Freund gezeigt und auf die persönliche Pinnwand geteilt. Der Freund hatte das Bild aus der DigitalDriveStyle-App während einer Probefahrt direkt aus dem Auto geschickt.

Der Interessent klickte sich zur Mercedes-Benz Facebook-Seite und fand dort weitere Bilder und Teaser-Informationen zum Fahrzeug, das ihm tatsächlich gut gefiel. Der empfehlende Freund hatte einen Volltreffer gelandet.

Von der Facebook-Page klickte sich unser Beispielkunde zur offiziellen Marken-Homepage, die ihn nun umfassend durch CMS und Digital-Asset-Management mit allen wichtigen Produkt-Infos, Bildern, Videos und Daten versorgte. Eine erste Vorentscheidung des Kunden ist getroffen.

iPad Konfigurator App
iPad Konfigurator App (c) Mercedes Benz

Von der Marken-Homepage geht es weiter in die Configurator-App auf dem iPad. Hier im modernen Fahrzeug-Konfigurator stellt sich der Bald-schon-Kunde sein Wunschfahrzeug aus aufbereiteten PIM-Daten des Herstellers bequem und ohne Zeitdruck auf dem Sofa zusammen. Die ermittelte Wunschkonfiguration des Autos wird an den nächstgelegenen Händler weiter geleitet.

Autokauf 2.0

Bei einem persönlichen Vor-Ort-Termin werden mit dem Händler Konditionen geklärt, Farben, Stoffe und Materialien final ausgewählt und eine Probefahrt vereinbart. Natürlich mit einem Fahrzeug, das der Wunschkonfiguration möglichst nahe kommt.

Nach der verbindlichen Bestellung des Autos geht es in der MyMercedes-App weiter. Direkt aus dem ERP-System des Konzerns kann der Produktionsstand in der App abgerufen werden. Sogar Fotos des baldigen Autos aus der Fertigungsanlage werden per Webcam direkt an den Kunden geschickt. Moderne Industrie-Anlagen mit direkter Anbindung an die wichtigsten Datenkanäle machen es möglich.

Ist die Produktion des Autos abgeschlossen, rückt der Auslieferungstermin immer näher.

Unser Beispielkunde möchte seine A-Klasse persönlich am Haupt-Werk in Sindelfingen abholen (Eigentlich wird die A-Klasse in Rastatt gebaut, doch Philipp S. möchte dem Mercedes-Benz Museum einen Besuch abstatten).
Also geht es an die Reiseplanung. Hierbei wird Philipp S. von der Moovel-App unterstützt. Moovel vereint so ziemlich jede erdenkliche Mobilitäts-Möglichkeit und baut daraus einen individuellen Reiseplan von Hamburg nach Stuttgart zusammen:

  1. Zu Fuß zum nächsten Ca2Go smart 
  2. Mit dem smart zur S-Bahn
  3. Mit der S-Bahn zum Flughafen
  4. E-Tickets liegen in Moovel bereit
  5. Während des Fluges hat Moovel eine Mitfahrgelegenheit eines ebenfalls im Flieger sitzenden Daimler-Mitarbeiter nach Sindelfingen gefunden
    Alternativ hätte es sonst eine Taxi- oder S-Bahn-Fahrt vorgeschlagen
Moovel Skizze
Moovel Funktionsweise (c) moovel

Die erste Fahrt im neuen Auto

Natürlich hat sich Philipp S. in den Wochen vor der Auslieferung bereits intensiv mit den Funktionen und Bedienelementen seines neuen Autos befasst. Viel muss der Mercedes-Benz Mitarbeiter bei der Übergabe also nicht mehr erklären. Selbst die Sitzeinstellungen werden bereits von dem Probefahrt-Auto des Händlers übernommen.

Drive Kit plus (c) Mercedes-Benz
Drive Kit plus (c) Mercedes-Benz

Eine Überraschung gibt es dennoch: Die Lieblingsmusik des Kunden wurde direkt ins Infotainment-System übertragen.

Kurz noch das Smartphone mit dem Auto vernetzen, so dass es zum Öffnen des Fahrzeugs verwendet werden kann und Philipp S. kann seine erste Fahrt im neuen Auto gen Heimat antreten.

In der DriveStyle-App werden ihm seine Facebook-Freunde entlang der Route angezeigt, sodass er sich entscheidet, auf der Rückfahrt zwei Mal von der Autobahn abzufahren und alte Freunde zu besuchen.

Eine Augmented Reality App unterstützt beim Kennenlernen des neuen Fahrzeugs. Statt Bedienungsanleitungen zu lesen, schwenkt Philipp S. mit dem Smartphone durch sein Cockpit und bekommt von der App über das Kamerabild seines Autos erklärende Zusatzinformationen angezeigt.

„Wozu ist dieser Schalter hier?“ – einfach mit der Smartphone-Kamera abfilmen und die App blendet alle relevanten Informationen ein.

Ein Jahr später. Das Kundenerlebnis geht weiter

Das erste Wartungsintervall ist rum und der Wagen muss zur Inspektion. Die MyMercedes-App erinnert an Serviceintervalle und bietet mögliche Termine beim nächstgelegenen Händler an und gleicht diese mit dem Kalender im Tablet ab.

Außerdem sieht Philipp S. in der App gleich, welche Wartungsarbeiten vorgenommen werden sollen.

Die MyMercedes-App integriert sich in den Alltag: Steht bsw. eine längere Fahrt zu einem Termin im Kalender an, erinnert die App daran, dass vor Fahrtbeginn noch getankt werden muss, da der Tank nur noch zu 1/4 voll ist.

Vor Fahrtantritt wird durch die Kalender-App die Klimaanlage gestartet und das Auto passend vortemperiert und reserviert am Zielort bereits einen passenden Parkplatz.

Und wie geht es mit dem Kunden und seiner A-Klasse weiter?

Nun, Herr Gorriz und Herr Schiemer deuteten an, dass das neue Auto unseren Beispielkunden SO sexy gemacht hat, dass nach 2 Jahren ein neues Auto für die ganze Familie angeschafft werden muss 🙂 Eine E-Klasse.

Der Clou dabei: Alle liebgewonnen Einstellungen und Features kann Phillip S. über die MyMercedes-App direkt von einem Auto ins andere transferieren.

Aus Inhalten, Unternehmensinformationen, Kunden-Daten und sinnvollen Anwendungen entsteht in diesem nicht ganz fiktiven Beispiel nicht nur ein Kundenerlebnis, sondern Kundenbindung deLuxe.

Fazit – was hat das Ganze mit comspace zu tun?

Comspace sieht sich als technischer Dienstleister an der zentralen Schnittstelle für Anwendungen dieser Art. Die Projekte, die wir realisieren setzen schon heute an unterschiedlichsten Anknüpfungspunkten einzelner Systeme unserer Kunden an. Damit realisieren wir individuelle Lösungen, in denen Inhalte aus Digital-Asset-Management, Daten aus Customer-Relationship-Anwendungen oder Artikel-Details aus Produkt-Informations-Management-Systemen herausgezogen, für den Endkunden aufbereitet und in unterschiedlichsten Ausgabekanälen zur Verfügung gestellt werden.

Diese Ausgabekanäle können verschiedensprachige Webauftritte, Intranets, zweckoptimierte Landingpages, mobile Websites und Apps oder Produktkataloge sein.

Wo immer unsere Kunden Lösungen benötigen, um komplexe Inhalte beherrschbar zu kombinieren und darstellbar zu machen, sind wir in unserem Element.

Faszinierend zu sehen, dass Unternehmen wie Mercedes-Benz heute schon darüber nachdenken, wie sie mit BigData, Kundeninformationen und Produkt-Inhalten nicht nur rein werblich arbeiten, sondern ein integriertes Kundenerlebnis schaffen, das einen echten Mehrwert bietet.

 

10 Fragen zum CMS FirstSpirit im Video-Interview

10 Fragen zum CMS FirstSpirit

Auf der CeBIT hatten wir die Möglichkeit, dem Vorstand unseres CMS-Partners e-Spirit Jörn Bodemann und dem Mitglied unserer Geschäftsführung Michael Steinfort 10 Fragen zum Content Management System FirstSpirit zu stellen.

In 9 Minuten Video erfahren Sie:

  • Was zeigten e-Spirit und comspace auf der CeBIT 2013?
  • Michael Steinfort erläutert, warum sich comspace für FirstSpirit entschieden hat.
  • Was bietet FirstSpirit im Einsatz auf mobilen Devices?
  • Einsatzmöglichkeiten der mobilen Lösung für FirstSpirit, die comspace entwickelt hat.
  • die 3 aktuell spannendsten CMS Themen aus Hersteller- und Agentur-Sicht.
  • Was bringt die Zukunft für Content Management Systeme?

http://youtu.be/wiVtfI-ZfPI

Nächste Woche veröffentlichen wir ein weiteres Video, in dem unsere Kollegen aus Account Management und Entwicklung gemeinsam mit einer Kollegin von e-Spirit einige Features von FirstSpirit und unsere mobile Anwendung in Aktion demonstrieren.

CMS – das virtuelle Warenlager für Website-Inhalte

Die Warenlager Roboter von Kiva Systems bei Amazon in Aktion

In Content Management Systemen arbeiten wir mit Inhalten oder auch Assets. Einzelne Medien-Bestandteile wie Texte, Bilder, Videos, Produktdaten und so weiter, aus denen durch den Redakteur im CMS eine Webseite zusammen gestellt wird.

In der guten, alten Internet-Zeit gab es ja noch so etwas wie den „Webmaster“. Mir kommt als Metapher da immer der digitale Lagerist vors innere Auge, der nach Anfragen von Mitarbeitern aus Word-Dokumenten HTML-Seiten gemacht hat, Bilder auf FTPs hochlud oder Caching-Prozesse anstieß, durch die eine Webseite online geschaltet oder aktualisiert wurde.

Mittlerweile können diese Aufgaben bereits die einfachsten Systeme automatisch übernehmen und moderne CMS-Lösungen wie Sitecore und FirstSpirit warten mit Workflows und Features auf, die die Arbeit von Redakteuren und Content-Managern deutlich einfacher machen.

Die Warenlager Roboter von Kiva Systems bei Amazon in Aktion
Die Warenlager Roboter von Kiva Systems bei Amazon in Aktion (c) KIVA-Systems

Hochspannend finde ich dann Beispiele aus dem echten Leben mit anfassbaren Dingen, bei denen ganz ähnliche Prozesse und Techniken zum Einsatz kommen, wie ich schon im November von der Logistik-Lösung 2020 von Hettich berichtete.

Vor einiger Zeit hatte ich die Möglichkeit, mir die Lagerhaltung des Gütersloher Unternehmens Westaflex einmal anzusehen. Hier werden Produkte, Werkstoffe, Regale und sogar Rollwagen und deren Abstellplätze in den Werkshallen mit Barcodes versehen und jeder Mitarbeiter scannt zunächst den Artikel den er entnimmt, dann den Code der Kiste oder des Wagens wo er ihn ablegt und dann die Position des Wagens in der Halle. So weiß das Logistik-System immer wann sich welche „Assets“ wo im Unternehmen befinden.
Diese Übertragung von Prozessen für virtuelle Güter im Unternehmen auf anfassbare war seinerzeit für mich schon sehr beeindruckend.

Wo bei Westfaflex noch menschliche Muskelkraft die Rohstoffe und Produkte bewegt, geht die Logistik-Lösung das Unternehmens Kiva Systems, das Anfang des Jahres für 775 Mio. US-Dollar von Amazon gekauft wurde, noch einen Riesenschritt weiter:

Hier kommen die Waren zum Lageristen.
Roboter fahren nicht nur einzelne Artikel durch die Lagerhallen, sondern gleich ganze Regale. Laserpointer zeigen den Mitarbeitern welche Artikel aus dem mobilen Regal genommen werden sollen und in welche Kartons, die zum Kunden gehen sie gehören.

Schauen Sie sich das Video einmal an – das muss man in der Tat gesehen haben um es zu glauben. Ich kenne aus der Schulferienzeit ja durchaus noch die Arbeit auf einem Lager, wenn Staplerfahrer Hochregale befüllen, man selbst mit dem Hubwagen Paletten zur Arbeitsstation fährt und in Rollwagen Bestellungen kommissioniert. In diesen Zeiten habe ich einige Regalkilometer am Tag zurückgelegt.

Beim Versand-Karton schließt sich mein gedanklicher Kreis wieder Richtung CMS, wenn ich den Karton, der die einzelnen Produkte enthält mit einem Design-Template vergleiche, das die Webseiten-Inhalte anzeigt:
Größe und Form des Versandkartons wird nach den Maßen in den Artikeldaten passend ausgewählt um möglichst platz- und damit portosparend zu packen.
Ein modernes CMS kann bsw. anhand der Textmenge die der Redakteur eingegeben hat, kombiniert mit den Bildern aus dem Media Asset Management und den Produktdaten aus dem SAP besonders passende Template für die zu erstellende Seite vorschlagen. Stellen wir uns dann noch vor, dass das System auch noch Bilder passend zum Ausgabegerät skaliert, dabei aktuelle UX-Richtlinien berücksichtigt und automatisch referenzierbare Links vorschlägt, höre ich zwar ein bisschen Zukunftsmusik im Hintergrund spielen, sehe aber das Leben des Content Managers auch gleich ein wenig leichter werden.

Mindestens so leicht wie das des robotergestützten Lageristen bei Amazon 🙂

/via zwischendurch und Exciting Commerce

ReCap vom e-Spirit Partnertag 2012 in München

Zum e-Spirit Partnertag in diesem Jahr sind wir am Vortag relativ früh per Flieger angereist. Bastian als Projektleiter, Michael als Leiter Entwicklung und ich als Partner aus der Geschäftsführung sind als schlagkräftiges Team vor Ort in München „aufgeschlagen“.

Schockiert über die Hotelpreise (Faktor 2,5 x Normalpreis, Messe Electronica) haben wir uns in der Hotellobby gefreut, dass wenigstens der comspace Cocktail als „Cocktail der Woche“ sympathisch und preiswert daher kam. Ausgestattet mit WLAN und Getränken haben wir bis zum Abend normales Tagesgeschäft abgewickelt.

Gegen sieben Uhr abends ging’s dann Richtung Leopoldstraße in ein Hofbräuhaus, um die lokale Gastronomie zu würdigen. Bei einigen „Hellen“ ist dann viel über Kunden, Strukturen und Prozesse diskutiert worden. Wir als GF haben von unseren Kollegen noch einiges an Hausaufgaben bekommen. Gut gelaunt ging es dann einigermaßen zeitig ins Hotel zurück.

Tag 1: Keynote und Überblick über FirstSpirit-Erweiterungen

Am nächsten Morgen fuhr uns ein skurriler Taxifahrer zum e-Spirit Partnerevent. Ca. 70 Partner und das zwanzig Personen starke e-Spirit Team begrüßten uns freundlich vor Ort im Leonardo Royal Hotel in München. Der erste Tag war mit Themen bepackt, die eine positive Entwicklung von e-Spirit darstellten und gleichzeitig Chancen für die Partner aufzeigen. Die Keynote wurde, wie es zu erwarten war, von CEO Jörn Bodemann gehalten, der einen sehr schönen Überblick über die kommenden zwei Tage und die zu erwartenden Erweiterungen rund um FirstSpirit gab. Angerissen wurde in diesem Zusammenhang das FirstSpirit-Ökosystem, über welches Andreas Knoor und Markus Hirsch wenige Stunden später noch detaillierter berichten sollten. Schön illustriert waren die drei Säulen von FirstSpirit, welche die Schlagrichtung in den jeweiligen Entwicklungszyklen angeben sollen.

  1. User Experience
  2. Editor Experience
  3. Developer Experience

Während die Säule 1 die Besucher der Website glücklich stellen soll, wird mit Säule 2 der Fokus auf die Zufriedenheit der Redakteure gelegt. Dies ist auch in den vorgestellten Verbesserungen der Version 5 von FirstSpirit nicht zu übersehen (weitere Informationen findet der geneigte Leser auf den Seiten von e-Spirit). Die 3. Säule wird speziell für unsere EntwicklerInnen spannend, denn hier wird der Fokus (ab Version 5.1, die in 2014 zu erwarten sein sollte) auf die Zusammenarbeit der EntwicklerInnenteams gelegt. In Aussicht gestellt wurden hier Google+ Streams und Hangouts. Wenn man dem begeisterten Gesichtsausdruck von Jörn Bodemann während der Keynote etwas ablesen kann, dann dass alle Partner von e-Spirit sich auf die weiteren Entwicklungen freuen können…

Ergebnisse der Partnerbefragung

Weiter ging´s mit den Ergebnissen einer Partnerbefragung. Grundsätzlich, so der Tenor der Ergebnisse, sind die Partner mit e-Spirit, dem Produkt FirstSpirit und dem Professional Service durch die Bank sehr zufrieden. Alles andere hätte uns bei comspace auch sehr überrascht, denn die Zusammenarbeit klappt ausgesprochen reibungslos, schnell, professionell und zuverlässig. Was will man mehr? Markus Hirsch stellte nochmal heraus, dass man sich über das Ergebnis sehr freue und auch beruhigt sei, man sich darauf aber nicht ausruhe und den hohen Anspruch an sich selbst weiter vorantreibe. Wir sind sicher, dass die nächste Befragung dies auch wieder unterstreichen wird.

Was macht die FirstSpirit Version 5 besonders?

Markus Fehr aus München leitete mit einigen warmen Worten zum Stromausfall in München am Morgen des Partnertages seinen Vortrag zu den Highlights der FirstSpirit Version 5 ein. Es wäre sicherlich eine tagesfüllende Aufgabe, alle Highlights, neuen Funktionen und Verbesserungen an dieser Stelle aufzulisten, im Vortrag selbst haben wir uns aber die folgenden Notizen gemacht:

  • WebEdit
    • WebEdit wurde komplett erneuert (wir erinnern uns an Säule 2…)
    • InEdit-Funktion
    • suchzentriertes Arbeiten (Bilder, Absätze, Seiten)
    • Darstellung der Suchergebnisse (wurden ‚Schnipsel‘ genannt) sind customizable
    • alles in einem Fenster, keine PopUps mehr
    • Verbesserter, beschleunigter Freigabe Prozess durch Anzeige von Änderungen auf einer Seite
    • Projekthistorie im WebEdit
    • Integrierter Wizard z.B. zum Seiten anlegen
  • Java Client
    • deutlich verbesserte Suche
      • auch hier wieder suchzentriertes Arbeiten
      • Typeahead Suche
      • facettierte Suche
      • wie im WebEdit sind die Schnipsel anpassbar
      • „Search by example“
    • Massenupload von Assets in den MediaStore
      • hier gibt es Hooks, die z.B. einen vorherigen Virenscan ermöglichen o.ä.
    • Übernahme von Metadaten
    • Anpassung der Templates gemäß der Medientypen (z.B. hat ein Bild andere Anforderungen an die Eingabekomponenten als ein PDF File).
    • Deutlich verbessertes URL handling (das wird unsere Online Marketing Beratung freuen)
    • Updates können künftig über das Servermonitoring von FirstSpirit per Knopfdruck eingespielt werden

An dieser Stelle brechen wir einfach einmal ab. Es gäbe noch vieles mehr zu schreiben, das kann man aber deutlich besser in einem Gespräch vermitteln. Tenor hier: Unglaublich viel Neues, insbesondere für den/die RedakteurIn.

FirstSpirit Marketplace

Als FirstSpirit Ökosystem wurde der neue Marketplace angekündigt. Dies haben wir schon bei anderen kommerziellen Softwarelösungen gesehen und es wird die Art der Partnerschaft mit den Herstellern aus unserer Sicht verändern. Während es Module von Partnerunternehmen von e-Spirit nach einem umfangreichen Zertifizierungsprozess auf die offizielle e-Spirit Preisliste schaffen können, bleiben die, nicht selten, umfangreichen Projektlösungen ungenutzt. Gründe dafür sind nicht selten, dass der bestehende Bedarf nicht gesehen oder der Zertifizierungsaufwand als zu hoch eingeschätzt wird. An dieser Stelle setzt das FirstSpirit Ökosystem ein. Zu sehen gab es leider vom Marketplace noch nichts…

Weitere spannende Tracks für Techniker und Salesmen

Ab mittags wurden dann die Teilnehmer in einen technischen Track und einen „MKT/Sales“ Track aufgeteilt. Das Partnermodell wird umgestellt und soll uns Partner stärker fördern und fordern. Wir als comspace hatten einen Vortrag zum Thema Joint Selling mit e-Spirit, der die Partnerlandschaft polarisierte. Von einigen Partnern gab es gutes Feedback. Nachmittags waren Marketing Automation mit eloqua und Hybrid Apps weitere Themen. Den Abschluss bildete ein Vortrag zum Thema „Kundenzentrierte Kommunikation“ mit dem Fazit, dass Projekte für unsere Kunden und uns als Systemintegratoren nicht einfacher werden.

Die Stimmung in der Partnerlandschaft war angenehm und die Partner waren augenscheinlich in der Masse zufrieden mit der Zusammenarbeit und den Produkten des ausrichtenden Herstellers e-Spirit.

Geselliger Tagesausklang 

Abends ging’s dann auf die Bowlingbahn. In einem „rustikalen“ Ambiente auf einer nicht mehr taufrischen Bowlingbahn inkl. abstruser Schwarzlichteffekte war dann die sportliche Performance aller Teilnehmer gefragt. In unserem Team musste eine Jeans dran glauben (einfach „weggeplatzt“) – körperliche Verletzungen konnten jedoch erfreulicherweise vermieden werden. Nach Organisation von Nachos (sage nur: Bahn drei!) performten wir mit Platz zwei im Abschlussklassement. Prima war die gute Durchmischung der Teams, so dass auch Mitbewerber fröhlich miteinander die Kugel Richtung Bahnende warfen.

Spät abends an der Hotelbar wurden strategische Kontakte geknüpft, Roadmaps auseinandergepflückt und der Einsatz der lokalen Feuerwehr bewundert.

Tag 2: Präsentation neuer Module und Prozesse

Am nächsten Tag ist mit der UX-Bridge ein neues Modul vorgestellt worden, das neue Chancen für Projekte für unsere Endkunden bietet. Eine Lösung für die Live-Seite der Architektur hat bei e-Spirit lange gefehlt und ergänzt aus unserer Sicht das Produktportfolio sinnvoll. Wir bei comspace haben schon einige Ideen und wir kennen auch Endkunden, die sich danach strecken werden. Neue Prozesse im Bestandkundenmanagement wurden ebenfalls vorgestellt. Ein Partner stellte die Google Search Appliance mit First Spirit vor, eine Technologie, die comspace bei B.Braun im Einsatz hat. Eine Mitbewerbsbetrachtung rundete den zweiten Tag ab.

Insgesamt ist von unserer Seite das Verständnis in der Zusammenarbeit und für Projekte nochmal deutlich gewachsen. Und ausgewählte Mitarbeiter von comspace sind jetzt offiziell als „Fanboys“ bei e-Spirit anerkannt (wir wünschen einen neuen Partnerstatus „Trusted Fanboy Partner“ 😉 ). Danke an unser Team und an e-Spirit – es war professionell, wir sehen viele gemeinsame Projekte und das Event hat uns viel Spaß gemacht.

Unsere Schweizer Kollegen von Namics berichten in ihrem Blog ebenfalls über ihre Eindrücke vom e-Spirit Partnertag.

Webseiten könnten soviel smarter sein – Michael Steinfort erklärt SITECORE

Letzte Woche habe ich ein langes Gespräch mit unserem Geschäftsführer Michael Steinfort geführt. Eingangs wollte ich nur wissen, warum und welches CMS System für Unternehmen Sinn macht. Gelernt habe ich dabei aber viel, viel mehr.

In den nächsten Wochen werde ich hier einige der Erkenntnisse aus dem Gespräch berichten und gleich mal mit einer Frage starten, die Michael aufgeworfen hat:

Michael Steinfort sagt: „Viele Webseiten sind dumm.“ Und damit meint er:

“Leider ist es so, dass wir mit vielen Projekten, die wir momentan umsetzen, noch viel zufriedener sein könnten. Denn unsere Kunden schöpfen die Möglichkeiten, die technologisch verfügbar sind, meist noch nicht aus. comspace ist ein Technologie-Unternehmen. Wir arbeiten oft mit  führenden Lead-Agenturen oder internen Kreativ-Abteilungen unserer Kunden zusammen. Dort ist zuerst unsere Expertise und Erfahrung gefragt, die Agenturen und internen Abteilungen unserer Kunden über die technischen Möglichkeiten aktueller CMS Software zu informieren. Wir zeigen den Designern und Konzeptern, was technisch machbar ist, so dass sie die State-of-the-Art Funktionen in ihr Konzept mit einfließen lassen können. Das ist unbedingt notwendig, da die meisten Konzepter nur die klassischen Funktionen eines Redaktionssystems kennen (Content erstellen und publizieren). Heutige marktführende CMS Systeme können viel mehr.“

Wenn wir die Kreativ-Agenturen als Architekten sehen, die eine Website als Haus planen, designen und strukturieren, sind wir als comspace die Handwerker, die diese Pläne realisieren. Und wie ein Handwerker am Bau, haben wir eine klare Meinung zu dem, was Grafiker und Konzepter uns liefern: Das ist häufig designfokussiert und hat selten Konzeptansätze für eine zielgruppenspezifische Auslieferung von Inhalten.

Viele Webseiten sind wenig clever, weil sie ihren Besuchern nicht die gesuchten (relevanten) Inhalte zeigen, obwohl die technischen Voraussetzungen gegeben sind. Anstelle dessen wird möglichst viel an Informationen angeboten, in der Hoffnung, relevanter Inhalt möge doch dabei sein.”

Ein Beispiel dafür wäre schön.

“Klar. Fangen wir mit einem Beispiel aus dem alltäglichen Leben an: Wenn ich in ein Bekleidungs-Geschäft gehe, mich beraten lassen möchte und die Verkäuferin sagt:

‘Guten Tag und willkommen, ich sehe, Sie tragen Größe 102, ein anthrazit-farbener Anzug, darf ich Ihnen einen schwarzen oder blauen Anzug zeigen? Ich hab hier einen Schnapper aus einem tollen Stoff, Super120!’

Dann fühle ich mich gut beraten. Webseiten in Deutschland funktionieren leider nicht so. Wenn ich auf eine Unternehmens-Webseite in Deutschland surfe, drehen sich die ‘virtuellen Verkäufer’ zur Wand.

Als anschauliches Beispiel betrachten wir die Volkswagen Webseite für Endkunden (B2C).
(Volkswagen soll nur als exemplarisches Beispiel dienen. Wir fahren zu Haus die Marke und haben zu Volkswagen aktuell keine Geschäftsbeziehung.)

Da wird seit einigen Monaten der Kleinwagen Up! angeteasert, beworben und mit viel Geld durch Design-Agenturen möglichst attraktiv dargestellt. Wir surfen also auf Volkswagen.com und werden auf Volkswagen.de umgeleitet. Das ist schonmal super. Doch trotz des ganzen Zaubers (teurer, toller Film) rund um den Up! klicken wir zielstrebig auf den Multivan, also den Bus. Und dann sehen wir uns noch den Caddy Kastenwagen an. Damit müsste die Seite gelernt haben: ‘Hmm, dieser Kunde interessiert sich nicht für den Up! sondern für die etwas größeren Nutzfahrzeuge. Es handelt sich mit hoher Wahrscheinlichkeit um einen Kunden mit großer Familie, oder einen gewerblichen Kunden wie z.B. einen Handwerker .’

Das sollte die Webseite nun wissen. Wenn ich nun aber NOCHMAL auf Volkswagen.de bzw. den Home-Button (Logo) gehe, dann zeigt mir die Webseite wieder den Up!.

Webseiten als gute Verkäufer und Berater

Zurück in unserem Alltagsbeispiel hieße das: Ich habe der Verkäuferin angedeutet, dass ich einen blauen Anzug Größe 102 suche und die Verkäuferin sagt: ‘Kommen Sie doch bitte mit in unsere Jeans-Abteilung, ich habe auch etwas in Größe 42 extraweit. Und danach bittet Sie mich, ihr durch den ganzen Laden zu folgen (viel Content).’

So konzeptlos funktionieren heute Websites von deutschen weltmarktführerenden Unternehmen und Konzernen, selbst wenn sie mit führenden CMS-Systemen umgesetzt wurden. Die Schwäche in den Konzepten und die später geringe Akzeptanz in den Zielgruppen ist für uns teilweise sehr frustrierend.

Denn:
Redaktionssysteme haben sich in den letzten 10 Jahren immens weiterentwickelt und können heute deutlich mehr als einfach nur Content erfassen, erzeugen und anzeigen. Und Design ist wichtig, aber um im o.g. Beispiel zu bleiben, rettet ein hübsches Äußeres nicht die Inkompetenz der Verkäuferin im Kleidungsfachgeschäft.

Das Content Management System SITECORE

Sitecore – eine Lösung aus unserem Portfolio – liefert z.B. ein System, das besonders für marketingaffine Unternehmen interessant ist und aktives Verkaufen unterstützt.

Um wieder zu unserem Volkswagen-Beispiel zurück zu gehen: Idealerweise hat die Seite jetzt nicht nur erkannt, dass ich mich für ein großes und praktisches Auto interessiere, sondern zeigt mir auch gleich noch eine spezielle Bilderwelt an: Eine Familie mit vielen Kindern vor dem Auto oder ein Handwerker, der lange Gegenstände ins Auto lädt. Dann würde ich mich als Kunde schon ein ganzes Stück besser verstanden fühlen.

Technisch ist diese Art der Personalisierung ein alter Hut. Auf klassischen E-Commerce Seiten wie Amazon oder eBay sind solche Funktionen Nutzern seit vielen Jahren bekannt. Bestes Beispiel: “Kunden, die dieses Produkt gekauft haben, haben sich auch für jene Produkte interessiert”. Doch auf Unternehmens-Seiten, die mit klassischen Content Management Systemen ohne Personalisierung gebaut werden, fehlen diese Funktionalitäten meist noch. Technisch sind diese verfügbar, auch ohne Budget in der Größe von Amazon.

Solche Funktionen bietet Sitecore im Standard. Bestandteil des Produktes ist ein Digital Marketing System, das u.a. auf das Nutzerverhalten in Echtzeit reagiert und den redaktionellen Content für den individuellen Betrachter der Seite anpasst.”

Wie funktionieren personalisierte CMS genau?

So weit, so gut. Aber wie funktioniert das genau und wie kann ein Unternehmen diese Technologie in seine Webseite einbauen?

Michael blickt dazu kurz in die Vergangenheit:

“Wenn man Konzepte für Webseiten erstellt, geht es meistens so los:
User-Experience-Designer und Informations-Architekten überlegen sich: Wie muss die Seite aufgebaut und strukturiert werden, damit der User sich möglichst leicht zurecht findet und idealerweise relevanten Content besucht? Als Orientierung schafft man sich hierfür Zielgruppen (z.B. Familenvater, 30-38, Einkommen 3700,-) oder besser noch Personas (detaillierte Definition einer beispielhaften Zielperson: Max Mustermann, 36, 3 Kinder, fährt gerne mit der Familie im Auto in den Urlaub, Heimwerker).
Der User-Experience-Designer stellt sich nun die Frage: Welcher Content ist denn nun für Zielgruppen und Personas relevant? Entsprechende Wireframes werden dann im Konzept entwickelt und durch Designer „angehübscht“. Eine feste Struktur der Seite, die Navigation, die Bühne, Teaserelemente, Tabbings, Karussels und die Suche sind wesentliche Bestandteile der klassischen Konzeption, um relevanten Content anzubieten. Es ist jedoch eine feste Struktur für alle Benutzergruppen.

Die festen Strukturen lassen sich in Sitecore aufbrechen indem jedem Schnipsel Content die Information mitgegeben wird, wie relevant dieser Content für die vordefinierten Zielgruppen ist (Meta-Daten). Die Seite wird später dynamisch, d.h. unterschiedliche Zielgruppen sehen unterschiedlichen Content.
In unserem Beispiel Volkswagen erhalten die Inhalte zum Up! eine sehr niedrige Relevanz für Max Mustermann (die Zielgruppe mit den drei Kindern). Multivan und Caddy haben eine deutlich höhere Relevanz. Im Detail werden Inhalte aus dem Umfeld, Familie, Freizeit, Urlaub stärker hervorgehoben, als die gewerblichen Einsatzgebiete.

Was passiert nun, wenn Max Mustermann auf die Webseite surft?

Zunächst etwas ganz ähnliches wie bsw. beim Online-Banking. Es wird eine Session für den User aufgemacht und ein Cookie im Besucher-Browser angelegt, in das all das reingeschrieben wird, was helfen kann, dem Besucher die für ihn interessanten Inhalte anzuzeigen. Das geschieht ohne Anmeldung des Kunden, d.h. ohne Login (implizite Personalisierung).
Wenn der Kunde beim nächsten Mal wieder auf die Seite surft, bekommt er relevante Inhalte auf der Website angezeigt und muss sich nicht erst wieder durch die gesamte Seite hindurch klicken.
Beim Besucher der Webseite stellt sich dadurch folgender Effekt ein: “OH! Hier werde ich verstanden, hier möchte ich gerne kaufen. Oder zumindest: Hier bewege ich mich noch weiter auf der Seite und schaue, was mir noch weiter angeboten wird”.

Im Beispiel Kleidungsfachgeschäft ist das der prüfende Blick der Verkäuferin auf mein Äußeres beim Erstbesuch des Geschäftes, ohne dass üblicherweise mein Kundenname erfragt wird.

Wieviel Personalisierung ist möglich und wie setzt man das im Projekt um?

Natürlich könnte man hingehen und den gesamten Content für Personalisierung auslegen. Jedem Informations-Schnipsel Meta-Daten zuordnen, über die die Relevanz für die unterschiedlichen Zielgruppen deutlich wird usw. Die gesamte Webseite wird dynamisch für jeden Besucher anders angezeigt. Das erzeugt jedoch technisch und organisatorisch zu viel Komplexität und schränkt die Einfachheit der Benutzung ein.
comspace empfiehlt ein schrittweises Vorgehen.

Beispiel Jobsuche: Wenn ein Webseitenbesucher sich gezielt auf den Job-Angeboten bewegt, wird ihm im Header der Seite kein Produkt-Teaser mehr angezeigt, sondern eine Grafik, die zur Kontaktaufnahme mit der Personalabteilung einlädt. Denn augenscheinlich handelt es sich ja um jemanden, der für das Unternehmen arbeiten möchte und nichts kaufen wird (Zielgruppe Berwerber, definiert im Konzept über eine Perona).

Eine solche Anpassung ist meist innerhalb kurzer Zeit zu realisieren und man kann erste Erfahrungen sammeln, wie die Besucher der Seite auf eine solche Personalisierung reagieren. Begleitend notwendig ist der Einsatz eines Analytics-Tools (teilweise in aktuellen CMS-Lösungen integriert), um mehr über seine Besucher und den Erfolg der Personalisierung zu lernen und Schritt für Schritt weitere Zielgruppen gezielt zu bedienen.

In weiteren Schritten lässt sich Marketing Automation aufbauen. Bestimmte Handlungen des Besuchers auf der Webseite führen zu festgelegten Reaktionen im Backend der Webseite, die dann ganz gezielte Marketing-Tools auslöst, wie z.B. einen Newsletter, Prospektmaterial oder eine Kontaktaufnahme anzubieten. Sinnvolle Ergänzung ist eine CRM Anbindung, durch die die Informationen, die ein bereits bekannter Besucher der Webseite hinterlassen hat, direkt in das Customer Relationship Management einfließen und weiteren Vertriebskanälen zur Verfügung stehen.

Zurück zu unserem Volkswagen-Beispiel:
Der Kunde hat sich beim zweiten Besuch auf der Webseite registriert und einen Multivan konfiguriert. Farbe, Felgen, Ausstattung…
Nun kommt der Kunde zum dritten Mal auf die Seite. Die Bilderwelt wird direkt auf das Aussehen des vom Kunden konfigurierten Fahrzeugs angepasst. Der Kunde erkennt ‘sein’ Fahrzeug wieder. Nun werden auf der Webseite Informationen angezeigt, die zum Abschluss des Geschäftes führen (exemplarische Schritte, wir sind keine Strategieberatung im Umfeld Automotive):

  • Probefahrt vereinbaren
  • Finanzierung
  • Versicherung
  • Zubehör

Und selbst nach einem Kauf hört die Funktionaltät nicht auf:

Wird ein Kunde, der bereits gekauft hat, auf der Seite wieder erkannt, können gezielt Inhalte angezeigt werden, die Zusatzkäufe generieren sollen oder ergänzende Dienstleistungen anbieten. Ebenso können aber auch Service-Leistungen angeboten werden, wie häufige Fragen zum gekauften Produkt, Neuigkeiten, Bedienungsanleitungen etc.

Ein einfaches, preisgekröntes Beispiel für Personalisierung aus der comspace Praxis:

 

Nach Ursprungsort des Webnutzers angezeigtes Bild auf der Dornbracht Seite

Unser Kunde Dornbracht präsentiert auf der Webseite (basierend auf Sitecore), unter anderem eine horizontale HighEnd Dusche. Unter den Bildern auf der Produktseite ist u.a. auch eines dabei, auf dem eine unbekleidete Dame in dieser Dusche angedeutet ist.

Es handelt es sich um ein Premium-Produkt, das auch im arabischen Markt angeboten wird. Da eine solche Abbildung dort problematisch ist, erkennt die Webseite anhand der GEO-IP woher der Besucher kommt und zeigt dementsprechend ein anderes Bild an. Das ist ein sehr einfaches Beispiel für Personalisierung von Content für eine Zielgruppe, basierend auf Lokalisierungsdaten.

Ein anderes Beispiel für die Personalabteilung

Die meisten Unternehmen haben eigene IP-Nummernkreise. Also jeder, der aus dem Adressbereich eines Unternehmens im Web surft, ist als Mitarbeiter dieses Unternehmens im Web erkennbar.

Mitbewerber auf der eigenen Seite werden nicht gern gesehen. Dabei vergessen wird jedoch, dass es sich um hochqualifizierte potenzielle Bewerber handelt.

CMS-Systemen kann man beibringen, anhand der IP-Adressen zu erkennen, ob ein Mitarbeiter eines Mitbewerbers meine Webseite besucht. Wie wäre es denn zum Beispiel, wenn Mitarbeiter von Wettbewerbern zu allererst Stellenangebote zu sehen bekommen? Dies ist keine hypothetische Diskussion, sondern wird aufgrund des bestehenden Fachkräftemangels schon von ersten Unternehmen umgesetzt.

Warum brachten wir eigentlich die ganze Zeit das Beispiel Volkswagen?

Wie oben angeführt nur als exemplarisches Beispiel aufgrund der Bekanntheit der Marke und für die Nachvollziehbarkeit des Beispiels.

Volkswagen benutzt das CMS Web Experience Management von Adobe, auf dessen Basis wir dieses Jahr ein erstes Projekt realisiert haben. Das System bietet ebenfalls viele der Personalisierungs-Funktionen, die ich im Zusammenhang mit Sitecore erklärt habe.

Sicherlich plant Volkswagen in nächsten Schritten, diese angedeuteten Konzepte in der Online Welt umzusetzen.

Das o.g. Szenario funktioniert nicht nur im Umfeld B2C, sondern ebenfalls in mehrstufigen Märkten B2B.

Mitnehmen

  • CMS-Software kann heute mehr als Content erstellen
  • Konzepte müssen Lösungen zur zielgruppenspezifischen Auslieferung von Content liefern
  • Design rettet keine unrelevanten Inhalte
  • Konzepter müssen aktuelle CMS Systeme kennen, vor allem das System, auf dem später die Implementierung stattfinden soll
  • comspace ist Sparringspartner mit technologischem Fokus für Endkunden und Agenturen

Facebook direkt aus dem CMS mit Inhalten versorgen

Kürzlich haben wir ja bereits auf das Onlinemagazin Kuchenkult.de unseres Kunden Coppenrath & Wiese hingewiesen. Dabei erwähnten wir auch die Facebook-Community der Conditorei Coppenrath & Wiese.

Je mehr Social Media Kanäle zu befüllen sind, desto mehr Arbeitsschritte müssen gemacht werden. Schlimmstenfalls ist der Redakteur, der Inhalte in die verschiedenen Unternehmenskanäle einstellt sogar gezwungen, von einem Werkzeug ins andere zu wechseln.

Coppenrath und Wiese Facebook

Um diesen Mehraufwand zu vermeiden, haben wir ein Tool für Coppenrath & Wiese entwickelt, mit dem der Mitarbeiter Inhalte direkt aus dem Content Management System Open Text heraus auf Facebook veröffentlichen kann.

Technisch haben wir diese Aufgabe so gelöst:

Der Redakteur findet in seiner gewohnten Pflegeumgebung einen speziellen Bereich, in dem er jede der Facebookseiten auswählen kann. Dort können die gewünschten Inhalte wie in den anderen Teilen des Internetauftritts auch mit speziell optimierten Inhaltsmodulen gepflegt werden – oder auch bereits vorhandene Inhalte referenziert werden. Es werden also die selben Redaktionsworkflows und Arbeitsschritte wie für die Pflege der herkömmlichen Seiten genutzt. Diese Seiten werden in einen speziellen Bereich des Webservers publiziert, wo die Daten aufbereitet und dem Zugriff über Facebook zur Verfügung gestellt werden. Für jede der Seiten wurde eine kleine Facebook-App geschrieben, die automatisch diese aufbereiteten Inhalte auf den Facebookseiten anzeigt, nachdem sie publiziert wurden.

Facebook App Coppenrath & Wiese