Hello Gliders
I have developed a web application: [https://changemaker-challenge.glide.page]
This app will be accessible to all users who have the link. We don’t want them to authenticate. However, we do want to collect the data that users input.
The app includes 20 challenges. After each challenge, we ask the user to indicate whether they have completed the challenge or not.
How can I collect the IDs of all users who connect (without authentication via a public link)? I need to know how many people have accessed the app and when.
How can I collect the data for each challenge for every participant? (Using the “Choice” component: I did it / Maybe next time).
Do you have examples?
Thank you very much.
It’s challenging to gather information about users who aren’t logged in and treat it as if they were logged in.
Your best option is to collect data specific to the user’s device and their IP address. You can then combine this information to create a unique identifier for each user who isn’t logged in.
Glide has the notion of visitors that do not authenticate (= do not log in) and no information would be available about these visitors. Glide has the notion of users that do authenticate (= do log in) and information about these users would be stored in a table. Glide does not have the notion of a visitor with trackable information.
Thinh suggestion might work, and it probably would to a certain extent, but only to a certain extent. His idea, I believe, is to manually build some sort of visitor token that would be more or less unique. It might work, but really what you’re asking for is not a native feature in Glide.
This cannot be done since Glide doesn’t have the notion of an ID for a visitor (a non-authenticated non-logged in person). But as Thinh suggested, you could build it.
Hi Thinh
Thank you for your response! Could you please explain how I can create a unique identifier based on the user’s device and how can I link it to the challenge responses (e.g., using the ‘Choice’ component)? Thanks
You can’t.
Users can change their IP address (without even knowing they have), and multiple users can have identical devices. The only way to guarantee uniqueness of users is to have them sign in with an email address.
What is your actual goal here?
Is it to prevent the same user submitting multiple times? (you can’t do that unless users sign in)
Is it to count the number of responses? (won’t you already know this, assuming each response adds a new row?)
Hi Darren
Yes, the goal is simply to count the number of responses for each challenge. I don’t know how to configure my data so that this information displays automatically. Could you guide me on how to set this up?
So essentially, you want to know for each challenge how many times the “I did it” option has been selected, yes?
The problem with using a choice component is that you cannot trigger any action when a selection is made.
Here is what I would suggest:
In your Challenges table, create two columns:
– A Number type column (this will be used to keep a count for each challenge)
– A boolean column. Make this column user specific (it will be used to prevent a user recording multiple counts for the same challenge in a single session)
Now on the challenges screen, replace the choice component with a button, and label the button “I did it”.
Create a custom action for the button, with the following:
– Increment action, adding 1 to the Number column
– Set Column Values action, setting the boolean column to true
Add a visibility condition to the button, such that it is only visible when the boolean column is not checked.
The effect of all the above is that each time a user clicks the button, it will add 1 to the count for that challenge and the button will disappear. If the user reloads the page the button will come back - so it’s not foolproof - but at least it will stop somebody clicking the button several times quickly.