How to implement a multi-vote feature system in MS based on subscription tiers with live vote count? Answered

Post author
Felix Gräf

Hey, is there a up vote/ down vote or like feature without commenting?

The goal is to collect votes from users what kind of features they want to see in the future and should vote for their favorite. (There will be a list from which they can like/upvote their favorite)

Different plans should habe different amounts of votes, eg: basic=1 vote, pro=3 votes, enterprise= 5 votes.

Also, is it possible to then also display the amount of likes live?

Comments

14 comments

  • Comment author
    Julian Galluzzo

    Hey Felix! Good news - we have this tutorial for exactly that 😁https://www.memberstack.com/scripts/62-upvote-button

    It doesn’t cover the different vote counts for different tiers bit, but it should do 98% of the job !

    0
  • Comment author
    Felix Gräf

    Thank you. The tutorial guides me to copy a component from webflow. Unfortunately I don‘t get redirected to a webflow project but to the actual website which is why i can‘t copy the component. Any idea from where and how i can copy the necessary elements?

    Thank you in advance! ✌️

    https://memberstack.slack.com/archives/C033F0SLTLK/p1724501353257499?thread_ts=1724458390.706619&cid=C033F0SLTLK

    0
  • Comment author
    A J

    Hey Felix Gräf, you can clone the free template for Upvote feature from here.

    Hope this helps.

    0
  • Comment author
    Felix Gräf

    Yesss, thank you A J

    hey, In the make.com setup I need to activate Live as shown in the video but the selection doesnt evene xist for me on my screen. Any idea how to fix that? There is also a filter condition after the router which didn’t get explained. Also, the counter is going into the negative for some reason, maybe due to the filter.

    Thank you!

    0
  • Comment author
    A J

    Hey Felix Gräf, the first issue that you mention is unfortunately because of the Webflow update. In the new version that you see in your Make workflow, you won't find the Live option, instead you will have to add another module to Publish that item specifically. So its not a problem on your part, just a different way has to be adapted to ultimately get the same result after the Webflow update 😐.

    As for the second question, I believe the filter essentially check if upvoted value is true then takes it via the first route, if it is false takes it via the second route to remove the vote accordingly.

    Hope this helps.

    0
  • Comment author
    Felix Gräf

    Alright, thanks for the reply A J. How do I set up the filter in make.com for that? Thank you in advance!

    0
  • Comment author
    A J

    You can have something like 'upvote' (the field that you get from webhook is equal to 'true' and on the second filter you can have it equal to 'false'. You can use text is equal to filter for simplicity, it would work just fine.

    0
  • Comment author
    Felix Gräf

    okay it doesnt work as I thought. For some reason when I click the upvote button it goes up +1 but after like a sec the vote count gets a -1. Same thing for the downvote. -1 when I click and then +1 after a sec. I tracked the signal in Make and the filters do work correctly by only triggering either upvote or downvote. It happens in exactly the same moment after the second webflow module is being triggered 😅.

    https://memberstack.slack.com/archives/C033F0SLTLK/p1724623481662959?thread_ts=1724458390.706619&cid=C033F0SLTLK

    0
  • Comment author
    A J

    Hey Felix Gräf, my guess here is the last module in the make workflow might be taking the value of upvote from the first webflow module rather than the second one (i.e. the updated one), could you check if the last webhook response module has the updated vote value mapped in it?

    0
  • Comment author
    Felix Gräf

    Yup... You were right. I used the mapping from the first module. Now it works. Thank you so much
    A J. At this point I'm half convinced that u got superpowers. I appreciate your support!

    0
  • Comment author
    Felix Gräf

    Hey, i have a question regarding the upvote feature. Is it possible to limit the amount of votes a user has based on their plan?

    Eg a basic user has 1 vote, a pro user has 3 votes, and a enterprise user has 5 votes. Thank you!

    0
  • Comment author
    A J

    Hey Felix Gräf, I believe since we are already passing member ID info to the webhook in the workflow, you could try fetching the member and have a filter based on plans and the number of items in 'upvotes' in the Member JSON, in order to decide whether to consider / disregard the vote (based on your custom logic).

    But that might confuse the user, if they don't know why they aren't able to see the upvotes (unless you are thinking of having an intimation that only specified number of upvotes allowed based on your plan).

    In case you want to have a feature where you show the upvote button if there are remaining upvotes that a user can do based on their plan and probably once they use up their last upvote, they can be intimated to upgrade if they want to upvote more items, I believe you can take inspiration from the Credit System feature. Here instead of having a custom field which tracks credit, you could store the max number of upvotes a user can make and have the same logic of reduction once they upvote an item and intimate them to upgrade / take necessary action accordingly. Hope this helps.

    0
  • Comment author
    Felix Gräf

    Would you say its best if we include one upvote and one downvote route for each plan?

    (So if we would have 3 different plans we would have 6 routes overall)

    0
  • Comment author
    A J

    If you want to have a limit on votes, I believe you should have the check before the upvote / downvote route, so you check the plan and the votes given, if they are eligible for votes, only then proceed with upvote / downvote route. You can also have it separately as 6 routes and it would be functional in the same way. The former approach just gives you less number of modules to maintain in general.

    0

Please sign in to leave a comment.