Solved

How Do List data types work when adding a custom property in a flow?

  • 10 June 2022
  • 3 replies
  • 374 views

Badge +8

Hello, 

I am working on a project for a client and trying to find an efficient way to tag customer profiles with a specific property. The client makes childrens adventure maps for different towns and cities. They would like me to tag everyone who places an order for a specific map.

So in my head, adding a different custom property per map, is too messy. If someone buys 50 maps, they will have 50 custom properties on their profile and this becomes a pain to utilise in segments. So I thought about using lists so the custom property would look like this instead Map Purchase = [“Map A”],[“Map B”],[“Map C”]

Now to create a flow to automate this - I have done the following:

I made this draft flow thinking I need to add the new custom property first and then update it with the correct town/city name. So I did a create custom property at the top below the trigger where Map Purchase is Yes [list]. Then after the splits which will look for a specific map collection, use an update profile property to add Map Purchase contains London for example.

I am not familiar with the list data type. So I’m now wondering if this is the wrong way to do it. Will the create custom property create a duplicate property every time a customer makes another purchase? Or will it possibly overwrite it and I lose the previous data? What is the simplest way to achieve this?

Answers, much appreciated!!

icon

Best answer by Taylor Tarpley 10 June 2022, 20:36

View original

3 replies

Userlevel 7
Badge +60

Hi there @jadebiscuit,

 

Thanks for sharing your question with us and the screenshot! This helps me know how to best help you!

 

I definitely agree, I think creating one profile property ie. ‘Purchased Map’ and different values is the way to go for this. A list data type will not create a duplicate property or erase the previous data when gaining a new submission. It will be able to continually hold and append additional values for the profile.

 

Additionally, you could get rid of the first profile property ‘Purchased Map’ Equals ‘Yes’, as you will know if the profile has purchased a map if they have an additional map-related property added to their profile. However, if you want to keep this step, just to know if general for segmenting purposes, i.e. who has purchased a map, you could change the first update profile step ‘create map purchase’ to a Boolean data type. The only answer this data type can store is true or false. 

 

Finally, while you now will only have one profile property, but up to 50 possible values ie. correct town/city name, you will need to create all these options to possibly add in case they purchased this town map, so your flow will be very long with all the possible conditional splits. You could create different ‘Placed Order’ flows where you add a flow filter to filter out specific collections, then your flow will only have so many profile property value options in each flow, which would be significantly smaller. However, choose what best fits your client’s goals and visions for this! 

 

I’d recommend checking out these helpful Community threads to learn more about List data types!

 

Thanks or sharing your question with the Community!

-Taylor

Badge +8

Hi Taylor,

So I have removed the Create profile property -  Map Purchase equals yes - from the top of the flow. I have left the conditional splits, to drop people in the necessary branches.

However, I have now tested it, and it doesn’t appear to be working. I have added in all the possible values for the property to the database. I’ve put in update profile property with Map Purchases = list value. When I make the second purchase it seems to overwrite the value. 

Example:

First purchase my profile shows Map purchases = Abingdon

Second purchase my profile shows Map purchase = Amersham

(rather than adding it on so that it looks like Map = Abingdon, Amersham)

Is there anything you can think of that might be effecting this?

Badge +8

Hi - I’ve managed to get it to work!

Only caveat is that the client would now like me to try and ensure customers purchasing 1+ products in one order also get tagged. Not sure how to achieve this. At the moment, the first product getting fed through in the placed order event is the one being tagged, and then they’re exiting the flow. 

Reply