Forum Discussion

kwitt's avatar
kwitt
Active Member
2 months ago

Drag-And-Drop Customisable Content Blocks

Hi there, new to Braze, I want to know if there's a way to create custom Editor Blocks that you can save and add to the drag and drop editor CONTENT section. It could just be a customistable HTML block that you use often.

And then when the user pulls it they can make edits and customise it (for that instance only)?

I was thinking about using regular content blocks but then a user needs to remember the content block tag and also can't make edits to the block.

 

  • DavidO's avatar
    DavidO
    Strategist II

    Hey kwitt 

    I see what you are saying. It actually made me think of another solution that might work with a mix of content blocks and {% assign %} variables that I used when I was playing with OpenAI for a YouTube video. It might help and look cleaner.

    You create the custom HTML and CSS for your IAM in a content block, but wherever you want your team to be able to update content, you add a liquid tag. You can see in my image I added {{brazeApiKey}} and {{brazeMessage}} as two examples.

    Then you create a new IAM and insert this content block but at the top of the code you create variables that can be updated by your team. These will feed into the HTML in the content block. So, in my case:

    {% assign brazeApiKey = "45783274934asdsa897d89sadas897da" %} (not a real key LOL)
    {% assign brazeMessage="An image of a shopping cart full of groceries" %}

    Each time a new user needs to use the template, they update the assign variable content and it will feed into the HTML content block. Might not be perfect for your use case but you can see in the second image it looks a lot cleaner to work with.

    There's not much more detail in the related video but you might still get some value from it. My whole channel is around Braze content. 😊

    https://youtu.be/M4cYr2ma19E?si=809k8APSAne2lKDf&t=121


  • DavidO's avatar
    DavidO
    Strategist II

    Hi kwitt 

    Hmm. I don't think so at the moment. For example, if you have a block of HTML you use repeatedly, you could save it as a HTML block that could just be dragged in inside the editor, which content blocks can do but I understand your concerns with this.

    I believe currently the best way to achieve this is like you mention is with content blocks and liquid tags which are not too hard to find if you use the 'Personalisation' button in the top left drop-down, as it will show you all your blocks and give you the tag:

    In saying that, you are correct, the user cannot edit these in the drag and drop editor but the upside is that if that block is used in a lot of places, when you do edit the block, all those places will be updated automatically.

    Another possible hack is to build a drag and drop template that has all the custom blocks other users need, and they could delete blocks that are not relevant to them, but this sounds a lot more clunky than content blocks IMO.

    Be interested to hear your thoughts and how you are using the editor.
    🙂

    • kwitt's avatar
      kwitt
      Active Member

      Hi DavidO 

      Thanks for your reply.

      The first solution doesn't help me too much because the content blocks I would use it on are ones that will have the same HTML base and structure but each time my team uses them they would be required to edit certain aspects for that one time use. For example they would adjust certain parts such as some variables (headline text, cta text, links and/or images) so each time you use the content block it has the same format but different content based on the variables that are changed. 

      Your other hack you mentioned might work for now. Definitely clunkier than I'd like but a good hack in the meanwhile.

      I think this is a good opportunity for Braze to implement a new feature such as content blocks where certain parts of it can be adjusted for each use. They could also build it into the drag and drop editor. 

      Thanks again for your reply :D I appreciate the conversation.