I’m experiencing an issue with my Klaviyo dynamic block in a subscription flow. When a customer orders a single item, the email displays the correct details. However, when they order multiple items, the dynamic block repeats every section in the blocks.
I’m using "event.items" in the row collection and "item" as the row alias.
Has anyone encountered this before? Is there something I might be missing in the setup? I’ve attached here my setup so you could help me investigate the issue.
1st photo - the code used in the row collection, row alias, and the event properties used in the dynamic sections 2nd photo - to show the preview of a customer ordered only 1 item and showing correctly 3rd photo - to show the duplicate blocks in the dynamic block and the event arrays in preview
1st photo - the code used in the row collection, row alias, and the event properties used in the dynamic sections2nd photo - to show the preview of a customer ordered only 1 item and showing correctly 3rd photo - to show the duplicate blocks in the dynamic block and the event arrays in preview
Any advice on how to ensure the email correctly loops through all purchased items would be greatly appreciated!
Thanks in advance!
Best answer by JaneImpelido
Update: I’ve managed to resolve the issue myself! In case someone in the future will encounter the same problem. I’m leaving this piece of advice to help them resolve this issue.
The problem was that my entire dynamic block was set to ‘Dynamic’ which caused repeating instead of just the Order Details section.
What I Did:
I changed the subscription details, fulfillment info, referral code, and order number to ‘Static’ content instead of using ‘Dynamic’.
I used the content repeat function only for the Order Details section as ‘Dynamic’.
This ensured that the static information only appeared once, while the Order Details section repeated correctly for multiple items.
Update: I’ve managed to resolve the issue myself! In case someone in the future will encounter the same problem. I’m leaving this piece of advice to help them resolve this issue.
The problem was that my entire dynamic block was set to ‘Dynamic’ which caused repeating instead of just the Order Details section.
What I Did:
I changed the subscription details, fulfillment info, referral code, and order number to ‘Static’ content instead of using ‘Dynamic’.
I used the content repeat function only for the Order Details section as ‘Dynamic’.
This ensured that the static information only appeared once, while the Order Details section repeated correctly for multiple items.
So when you have a table block set to dynamic, it is going to make both sections of that table dynamic, which will cause ‘ORDER DETAILS’ to be shown twice. A workaround for this would be to, rather than using a table block, insert a new section, then drag a column block into that section and select two columns. From there, drag a text block into each column. For the text block on the left, you can type in ORDER DETAILS and then make any styling changes you’d like. For the text block on the right, you can mimic a dynamic table by setting up content repeat rules, like so:
From here, you will need to identify the correct Product Name variable, and then replace the row collection with the row alias. So for example, if your product name variable is {{ event.extra.line_items.0.name}}, you would want to change this to {{ item.name }} so that it repeats ALL items in a customers order!