How can I create a dynamic product block for an email in a flow triggered by a signup form?

  • 9 January 2022
  • 2 replies

Badge +1

Hi everyone.

This is the first time I post something in this community :)

I have this problem.

In our e-commerce of digital products (music sample packs), we allow users to download free products by filling out a signup form.

We have about 15 free products, and I have created a specific form for each of them.

Once a user downloads a free pack, he is automatically added into a flow of 3 emails.

In this flow, we show the user the premium product related to the free one he downloaded.

As for the signup form, I have created a specific flow for each free product.

To simplify this, I would like to create a single flow that can fit any free product a user downloads.

I've already managed to create variables to change the names of the premium product within the email copy according to the user's signup form of origin.

To do this, I created custom properties in the submit hidden fields 

that are attributed to the user profile once the form is submitted.

The problem is that I cannot create a variable product block with the image and the "buy now" button, as the flow is not triggered by any event (such as for the abandoned carts.)

Is it possible to create a product block that changes according to the tags present on the user profile?

I hope I have explained myself as clearly as possible.

Thank you,




Best answer by David To 10 January 2022, 17:41

View original

2 replies

Userlevel 7
Badge +49

Hello @Lorenzo KIS,

Welcome to the Klaviyo Community!

Sounds like you’re going in a great direction with your flow! You are correct that you wouldn’t be able to create a dynamic table block since your flow is triggered by a list instead of an event/metric. 

However, since you already have certain profile properties tagging users from these signup forms, you should be able to accomplish something similar using the Show/Hide function. The Show/Hide feature allows you to target certain email content based on information about your subscribers that is identified by either event data or profile properties, this allows each recipient to receive a highly personalized marketing experience. 

For example, instead of a dynamic table block that changes based on a user’s profile property, you can use a series of product blocks that have specific show/hide rules built into them. Based on the show/hide rules associated with each of these product blocks, depending on the recipient who receives the email, the product blocks would be hidden except for the one that they qualify for which would remain visible. To learn more about this feature, I would suggest taking a look at the How to Show or Hide Template Blocks Based on Dynamic Variables Help Center article and some of the below Community post other users have surfaced as well!

Alternatively, another solution would be to build out a singular flow with a series of conditional splits that branches users towards different results. This too is often times a popular strategy and has discussed a number of times within our Community as well! I would suggest taking a look in our Community to further learn about this strategy. I’ve included some below to get you started:

One more thing to keep in mind since you’re working with a list triggered flow, is that list triggered flows only allow subscribers to go through the flow once. This means that if a user has already subscribed to one of your signup forms, went through the flow, and later decides to subscribe to a different signup form that is also linked to the same list/flow then the subscriber would not go through the flow a second time. As mentioned in our Guide to Creating a List-Triggered Flow Help Center article: “Contacts can only receive a list-triggered flow once. For example, this means that if someone is added to your newsletter list and receives your welcome series, then removed and re-added for any reason, they will not receive the series again.” 

If your goal was to have users enter the flow each time they subscribed or filled out the form, then I would suggest accomplishing this through a metric/event triggered flow. If you were alright with users entering the flow just once, but still wanted them to receive a unique experience for each of the various signup forms you have, I would recommend using various segment triggered flows or having each signup form linked to different lists. 

Segment triggered flows, which are similar to list triggered flows would only allow users to go through the flow once when they are identified and added to the segment. This means, you can create segments capturing users who filled out each of the various forms and then have a corresponding flow triggered based on their submission. This strategy alleviates the need for each form to be associated with a different list while still accomplishing a similar goal.

I hope this helps!


Badge +1

Thank you David. I’ve used the show/hide function and it works perfectly! :muscle: