Tutorials
Flexible Landing Pages
Dynamic Brand Pages
Personalized Layouts
What is a Narrative?
A Narrative is a page layout (or a set of zones in a page layout) with headless content (headless because the content is not specific to any view, it can be used in any channel: web-site, e-mail, print marketing, …).
A Narrative can be a complete web page layout or the layouts of sections (or zones) of the page.
As you integrate the Narratives in your Website, you decide which narrative appears where (in which pages or page zones) during the technical integration.
For example, for a search result page, the layout of the search results will be defined by a narrative (e.g., as in the example we will see in details later in this page: first a search message, then a banner, then the pagination and sorting option, then a grid of product results, then pagination again and below an SEO text, and on the left of it all the facets (search refinement filters).
You can find the Narrative-view under Marketing > Narratives.
The main Widget of a Narrative
Narratives are always connected to at least one Widget.
This is because the request from your Website to our API is always done on a widget.
The system will then identify the one narrative (in case many are defined) which are connected to this widget that should be used.
This widget is then the main widget of the narrative.
As per the flow below, the main widget will provide the key content to be integrated as content in the narrative layout.
You can add additional sub widgets in the Narrative if you need them (for example, if your narrative shows two blocks of product recommendations, then the first one is typically the main widget which is the one called by your Front-End API request and the second one is a sub widget defined in the narrative).
Create a new narrative
To create a narrative, click on the add-button and give the narrative a unique key. This is how your narrative will later be accessed, so use a name that describes it well and is easy to understand.
For example, you can use the same name as a widget (in case you don’t plan to have more than one narrative for this widget), or add “_default” at the end of the widget name in case you want to have it as the default version but plan to create a more specific narrative for specific cases.
Your widget will then appear at the end of the list, you can then edit it by clicking on the action edit (pencil icon).
If you have several pages of narratives, you might not see the newly added Narrative until you paginate to the last page
On the top right of the dialog, you can define a list of main Widgets for the Narrative.
Why several Narratives for the same main Widget?
There are different ways to configure different Narrative Layouts and Contents for different situations.
One way is to have several Narratives and to make them vary by the Narrative Context (see details below).
In case several Narratives can apply (which means that their Narrative Contextare all satisfied), the system will show the most specific Context available (e.g: if a Narrative is set as default with no specific context and another one is set specifically for the traffic segment from Google Shopping, the second one will apply for visitors from Google Shopping as the context is more specific than the default one).
Another way is to have one Narrative but to have Conditional Layouts in the narrative for the different cases (see details below)
A third way is to have one Narrative with a Fix Layout but dynamic content defined with Variables (check our documentation here: How to dynamize Narratives with Variables )
All three possibilities can also be mixed, so they are not mutually exclusive!
A less important question: Why several main Widgets for the same Narrative?
The opposite is also possible, to have more than one main Widget defined in one Narrative.
The main reason for doing it is to configure only one Narrative (typically a quite dynamic one) but to use it in the context of different widgets.
Different widgets will automatically provide segmentation in the statistics.
One Narrative is easier to maintain (no need to copy changes back and for).
However, this is not a very common need and typically is not applied.
Title, Aliases, and SEO Content
You can skip this section if you do not plan to integrate your Page Title and SEO tags with the Narrative.
Above: You can provide here the Title (H1) in Each Language.
Above: in the SEO Content Tab you can define Header information: Page Title, Meta Tags and other parameters as well as the Breadcrumb of the page (to be provided in JSON).
Narrative Context
A narrative is connected to a context. The Narrative Context defines (as a condition) if the Narrative should be considered as active in a given context.
The context by default is empty which means that the Narrative is always active.
A context can be defined on many different criteria (A/B testing variant, Visitor or Customer Segment, Page Context (page URL, current filter, facets selected by the user, search query, …).
Learn more about Contexts in our related documentation.
Example with a Context Parameter “campaign” set with the Variable “{{var-currentNarrative-uniqueKey}}”. This logic is often used for landing pages where a parameter “campaign” is passed (typically with the url path of the page) and is automatically matched with the Name of the Narrative.
This way, simply adding a Narrative with the name of the path of the landing page will make it work automatically!
Fix versus Conditional Layout
A Narrative is defined as a list of Layouts (typically only one).
A Layout can be Fix, Conditional, or be a reference to another Narrative (this is simply a way to embed Narratives).
Fix Layout
A Fix layout is a layout that never changes and is always the same for all the different situations.
A Fix Layout has a Context (it only applies if the Context is satisfied, see the explanations about Context above).
A Fix Layout is defined by an ordered List of configured Layout Blocks (see explanation below).
By creating several blocks of Fix Layouts and using their Contexts, you can still do a certain type of Dynamic layout by having some Fix Layouts appear to some visitors and others not.
Conditional Layout
A Conditional Layout has a Context as a condition (it only applies if the Context is satisfied, see the explanations about Context above).
Then it has a list of Fix Layouts each connected either to the true or the false (or both) evaluation of the condition.
In this example, we create automatically an A/B test simply by naming “testA” as a test Variant in the condition and we have then 3 Fix layout: the first two will apply to the control variant (testA is false) and the second and third will apply to the test variant (testA is true).
Configure the Layout Blocks Parameters of a Fix Layout
To fill the list of configured Layout Blocks of a Fix Layout, you need to select a Layout Block in the list.
The Layout Blocks and their name are defined by your IT team. If you are not sure about their meaning and desired usage, please check with your team to get more information!
After adding a Layout Block you can configure it by filling in its content.
Each Layout block has its own Parameter Schema, so it means that what field you will see in the form (as in the example above) depend on the definition of the Layout Block.
The Layout Blocks and their Parameter Schema are defined by your IT team. If you are not sure about what is a parameter should be used for, check with your team to get more information!
You can set the content of each parameter with static values (i.e.: writing the content as it should appear to the user).
You can also set the content with Dynamic Variables (or a mix of static text and Dynamic Variable, like, for example: “hello {{template-firstname}}”.
To find out more about how to set dynamic variables: How to dynamize Narratives with Variables
Nesting Layout Blocks
Some Layout blocks might expect (or support) to have children Layout Blocks defined.
For example, a product slider would typically be a Layout Block with a list of product Layout Blocks inside.
In this typical case a product_slider has one product as a Sub-Content. You don’t need to put several products as sub-element, only one, as Layout Block connected to the current widget with the parameter bx-hits (product-list) and bx-hit (product) will automatically create as many product children as necessary (see details in next section).
Of course, for other cases without any dynamic logic behind the system with the bx-… parameters, you can also create several children block and configured them with the logic you want.
And the nesting is not limited to one level, so you can do children blocks of children blocks of children blocks …
The automated widget content bx-… parameters
Save, Test & Deploy
When you are done editing, you can save the narrative and then click Save.
To test your Narrative changes click on the top-right button “Save & Test” and then go test on your stage front-end (wait for 5-10 minutes for the cache to automatically clear).
When you are satisfied with your changes, go to Deployment > Publish, click on the “Publish All” button, and confirm.
0 Comments