Before starting to implement a Dynamic Flow, make sure you're familiar with embedding a regular, static Flow as described in this article.

Product Flows are a great way to dynamically extend your regular Flows by pulling in posts connected to a product. 🌞

Let's start with the prerequisities. For Dynamic Flows for product posts to work you need to have posts with products connected through Flowbox's Commerce function.

You then add the embed script to your HTML source the same as for static Flows, with one small change; you also pass in a productId when calling the init method:

<script>
window.flowbox('init', {
container: '#js-flowbox-flow',
key: 'Your-Flow-Key',
locale: 'language-COUNTRY',
productId: 'product-1234' // Display posts that have `product-1234` connected
})
</script>
  • The key property is the Flow key. The easiest way to find this is copying it from the "Copy Flow Key" option in the triple dot menu in Moderate in Flowbox:

  • The locale needs to have both a language and a country code to work correctly: e.g. sv-SE or da-DK. In order to get a correct translation you will have to pick a locale from the list of supported locales. If you pass in an unsupported locale, buttons and text will be displayed in English.
    Please also make sure to use language-COUNTRY instead of language_COUNTRY.

    For more info on which languages we support for please visit this page.


Setting up the Flow dynamically

Because the Dynamic Flow function is made with the express purpose of displaying related posts in mind, you will also benefit the most from them by setting them up dynamically. One way of doing this is adding this to a template in your CMS or Ecommerce system. This will vary greatly depending on which platform you're using, but most have separate templates for product pages.

Here's an example on how the window.flowbox('init') could look in a platform that uses handlebars-style templating:

window.flowbox('init', {
container: '#js-flowbox-flow',
key: 'Your-Flow-Key',
locale: 'language-COUNTRY',
productId: {{ $product->id }} // Product-ID must be a string in the final output. See example in snippet above.
})

Hopefully, this can give you a hint on how to implement Dynamic Flows in your specific platform.


Preview your Dynamic Product Flow

When you create a new Dynamic Product Flow, you can preview directly in the Flow settings to see exactly how it would look on that product page, and see what content will be served, including category fallback and fallback.

In order to preview the Dynamic Product Flow, you need to:

  1. First, create/set up your Dynamic Product Flow.

  2. Then click to open the Flow's Settings menu in the top right-hand corner.

  3. Enter the product identifier/search for your product in the 'Preview Product' field.

  4. Flowbox will automatically load a preview of the Flow showing your tagged content and any fallback content.

Posts tagged with products in Flowbox are always displayed in order of 'most recent' unless you have enabled our AI algorithm Flowscore to automatically sort content based on engagement.

As an example - you have 2 posts that you wish to tag with the same product.

  • Post A was originally posted online in the last hour. You tag this post first.

  • Post B was shared online yesterday. You tag this post second.

These posts will now be sorted based on which was posted most recently. Even though you tagged the product(s) in Post B last, since Post A was collected by Flowbox more recently, Post A will always show up first in your Dynamic Product Flow.


A Flowbox Dynamic Product Flow supports one Product-ID for each request.


Content Security Policy (CSP) Error

Content Security Policy (CSP) is a W3C standard providing a layer of protection against Cross-Site Scripting (XSS). CSP policy allows blocking/allowing content from specified domains and avoiding the content coming from unapproved origin.

If you see an error message that states that the Flowbox script could not load due to Content Security Policy, you will need to add Flowbox to your CDN whitelist.


Additional resources

Did this answer your question?