Sitecore Data Exchange Framework – diagram

Few weeks ago I had an opportunity to take a look into Sitecore Data Exchange Framework. At first glance it was looking very cool and still it is but I have realized that one thing there is missing. In this post I will provide you something what will help you understand how it works.

If you do not know for what we can do with Sitecore Data Exchange Framework, following definition from documentation should tell you everything:

Data Exchange Framework is designed to facilitate the transfer of data between two systems.

You can find more on documentation page:

In documentation you will find very well described parts of the framework but it can be hard to “connect the dots” right away. That is why I have prepared diagrams – because image is worth a thousands words.

You can use them after/during reading of official documentation.

Standalone pipeline

Pipelines in batch


Diagrams describe how all elements of framework are connected and how they cooperate. If something on the diagrams is not readable then try to open pdf file from here: Sitecore Data Exchange Framework – Diagrams

Sitecore Customer Experience Maturity Model – Stage 3 – Align

In this post we will focus on Align Stage which is Stage 3 of Sitecore Customer Experience Maturity Model. It is a third and the last one stage of “Attract” phase.

What does it mean to be on “Align stage”?

Things here are getting complicated. You have more data about your customers, ideas of your marketing department are more and more complex, your business has to align to all needs. This is a key for this stage – you have to find a way to make everyone happy (align digital goals with marketing objectives that drive strategic objectives to achieve a real value across used channels).

Sounds like something impossible – let’s try to make it possible!

Before we will move on to the list of main objectives in Align stage we have to be sure that we understand all things in the same way. So it is time for short glossary.

Short Glossary for IT Guys

Digital Goals - goals strongly related to actions made by users on our website, mobile application etc. For example it can be: sign up for newsletter, complete survey, connect with facebook account.

Marketing Objectives - objectives drive marketing departments. They want to know their clients. They are able to know their clients if they will gather the data/contacts. So in this case for marketing objectives we can give following examples: capture profile data, contact acquisition.

Strategic Objectives - objectives which are crucial for the company. The best possible example can be "Increase revenue".

Strategic Themes - high level objectives which are not define details but general goals for company. For instance it can be: the best quality on the market, lifetime customers, etc.

Authors of “Connect” book define three main objectives of this stage:

  • show how digital goals drive strategic and marketing objectives
  • create an Engagement Value Scale (EVS) – scale which values digital goals to its relative impact on organizational objectives
  • define Key Performance Indicators (KPIs) that measure marketing impact and efficiency as well as the relevance to customers

Ok, ok, wait a second, but what does it mean in simple words? If you are software developer as I am you probably still do not know about what they are talking.

Engagement Value Scale (EVS)

To understand that definition, we should be aware that all objectives and goals are somehow connected. They can be on different level, they can have different value for the company, but they should be identified and should build together strategic theme. In other words it means that, digital goals are ingredients of marketing objectives, marketing objectives are ingredients of strategic objectives and strategic objectives are ingredients of strategic themes – simple.

Now if we will check again the definition of EVS we should notice that if we have digital goals we should also have a scale to define which of them are more important from organization point of view.

Keep in mind that values which you will define will have impact for marketing objectives and later for higher levels of the objectives – so values should be proportional to how much that goal contributes in higher level (marketing objective).

Later in the “deep dive” series I will try to describe how to prepare EVS but for now you just should understand what it is.

Key Performance Indicators (KPIs)

You have defined goals with engagement value scale – but, would you be able to say for someone that your activities and marketing strategy brings you more money/value from visit/clients/satisfaction/what is important for you and your clients? You need to have indicators which values will define the scale of your success – all important for you indicators we can close in one definition “Key Performance Indicators”.

With provided by Sitecore “Executive Insight Dashboard” you can measure efficiency of your decisions and actions. You can use for it also different tools or just simple stats – depends on your defined KPIs.

What more we should know?

You already know what Alignment stage is and what you have to understand to move on. But it is not always enough to move to another stage.

Sitecore has prepared Marketing Optimization Matrix (MOM) to help you use better your resources. You can check that topic alone or wait for me – I definitely will talk about this later in “deep dive” series.

If you will feel that you are fluently manage all your goals and objectives, that you have properly set values but you need some better strategy for multiple campaigns – then check MOM immediately. (Marketing Optimization Matrix on

In next article I will write about first stage in “Convert” phase which is “Stage 4 – Optimize”. That name tells us that we will already have really useful tools in our hands but we need to learn how to use it in optimal way.


Please keep in mind that this article is just an overview - later, in next articles or in brand new series I will prepare "deep dive" into digital maturity.

Stay with me, on my blog and learn more together!


Sitecore Customer Experience Maturity Model

For last few months I was looking for some free time to get into the “Sitecore Customer Experience Maturity Model”. Now I have found some time which I can spend on learning new stuff.

I have decided to prepare few posts about “Sitecore Customer Experience Maturity Model” but from technical person point of view. Why? Because in my opinion it is really important to understand why we (developers) spend so much time on preparing personalized Sitecore components which use xDB data.

When we are talking about Digital Maturity in context of Sitecore we should remember about many Sitecore publications and SBOS team.

Do you know this images?

Sitecore Customer Experience Maturity Chart from

Customer Experience Maturity Model

Chart from

On presented charts you are able to check all seven steps to Digital Maturity.

But what exactly Digital Maturity is? Well, in easy words we can say that Digital Maturity is a point on time in which you use all possible ways to know your clients and you serve to them personalized content on all possible channels.

If you want to check on which stage is your company currently, you can try to put your data into form on this page:

But if you have not seen that before you probably will have some problems with understanding of the results. So stay with me, here on my blog and remember :


I will try to write about all maturity stages with easy to understand examples – so follow my next articles.

Sitecore MVP 2017 – Technology

Yes! I have been awarded with Sitecore MVP!
I was working on it for last year and you know what – it is great that Sitecore noticed that in Poland people work hard for Sitecore Community.

In 2016 we had in Poland only one Sitecore MVP (Adam Najmanowicz – greetings!) but in this year Sitecore has distinguished three more people:
– Radek Kozłowski
– Alan Płócieniak
– and me

What is cool in being Sitecore MVP – I don’t have too much to write about it for now, but as I read in internal mailing from Sitecore in next few weeks all new Sitecore MVPs will recieve access to some internal stuff like pre-release versions of Sitecore and etc.

If you want to know how to become a Sitecore MVP and why it is worth to work with Sitecore, you should see my presentation from Sitecore Community Poland – “Find your own path with Sitecore”

Hopefully you will like my thoughts – if yes then you definitely should subscribe Sitecore Community Poland YouTube channel

What next?

I had a goal to become a Sitecore MVP. Now when I am Sitecore MVP I’m looking for new challenge – maybe I will try prove that it is possible to migrate from Sitecore Developer to Sitecore Digital Strategist? We will see soon – I promise!
More about Sitecore MVP program you can find here: Sitecore MVP

PowerShell – Stage 2

In this part of PowerShell topic I will show you how to create IIS website and unzip Sitecore into the new site directory.

Set site name

Before we will do a real job we have to define name of our new site. We can ask user in console to set the value. This code will prompt for name:

As result we will have name saved in variable $nameProvidedByUser.

Stop IIS

Because we have to add new ApplicationPool, create new IIS Site, sometimes also override some values in confiugration – it is better to stop our local instance of IIS before we will start.

We can do this with script:

After that definition we have to just call our function with command “IISStop”

Do some real work – define/copy/run

Ok, for now we have defined name and stopped IIS instance. We are ready to do some real work.

Run following command and at the end you will have ready to work IIS site and copied Sitecore files inside web root.

We have here code for:

  • unpacking ZIP files
  • changing the structure of unpacked files
  • creation of IIS AppPool
  • creation of IIS Site
  • creation of settings for bindings

But what exactly this command will do? Here you have explanation.

Inside this block of code we use some functions which were prepared before.

Add host to Windows file

If we want to define new site in our environment we also should add new definition in windows hosts file. We can do this with following script:

Start IIS

Because we have in plan to stop our IIS we also should have a script to start it again.

We can do this with following function:

Select version of Sitecore

Probably you will have more than one version of Sitecore in your files system – it means that would be nice to have an option to select which version of Sitecore should be copied into our web root. We can provide that feature with code:

What’s next?

In next part of PowerShell fun I am going to refactor code and set some settings like:

  • permissions
  • database connection strings

If you want to check how current version works you can checkout (and later also participate) code from my public repository on GitHub : PowerShell-automation