Track which users from my list of allowed emails are using the app

Hi everyone! I’m running an app that helps sales representatives track their priorities and know what to focus on during their visits to retailers while being able to filter according to the desired view.

It’s working great, but as we have many reps I’d like to be able to know the usage frequency of each, if they are using it daily, the last time they opened it, etc.

It’s a public app with required sign-in (using row owners for data safety) and I’ve been messing around with the “App: Logins” sheet so I know if someone has never logged in and their last log in date, but after they log in I have no idea about how/when they are using it. What would be the best way to track this? I have tried Google Analytics but it doesn’t allow me to track them individually.

Thanks!

If I were to do it, I would incorporate a Set Column action into a custom action somewhere in your app. That set column action could write the current date/time to a column in the user profile row. You need to pick a component that a user would definitely interact with every time they use the app.

1 Like

You might not be concerned with local privacy regulations. Be aware though that if users from the EU are using your app:

  • End users (B2C) cannot be tracked without their consent, especially when personal identifiable information is involved. So you would want to make sure you anonimyze email addresses in the settings of your app.

  • Employees in the EU can be monitored. However, depending on the type of monitoring, the employer needs to notify the employee (possibly in all cases) and receive consent from the employee (possibly in some cases).

I’m not at all a privacy specialist and you’d probably get away with not complying with regulations on GDPR and employee monitoring if you’re a small business, but still the information might be of interest to you.

3 Likes

I believe this is a great idea! I’m just not sure on how to implement it… Would it be something like:
1 - Add a user specific column in the user profile table;
2- Create a set column action to write current date for the buttons I believe will be touched every time the app is used (can I use more than one? And would it be possible to use in components other than buttons?)

Now another question: do these actions that will be triggered by the users to write in a table count for some kind of limit in the pro plan?

Thanks!

These are fair points, as I would be monitoring employees I believe there would be no issues but I’ll be sure to look further into this topic! Thanks for the heads up!!!

1 Like

Yes, but it doesn’t need to be user specific.

You can do it with any component that supports actions.

Most certainly yes. Every click/tap will trigger an update. So you should keep that in mind.

2 Likes

I think I get it, will play with it more. But the update limit might be a problem for me as I’d have about 130 people using the app daily, this would consume the update limit very quickly.

Another way I thought of working around this would be to “force log-off” every user from time to time so they have to log in again and this would show up in the “App: Logins” sheet. But i haven’t found a way to do that… You think it might be possible?

No, I’m not aware of any (non-destructive) way to do that.
Deleting their User Profile row, or changing their email address would log them out. But I wouldn’t recommend either of those :wink:

1 Like

What you could do is add a math column in the user profile table that calculates the current date using ‘Now’. Then when setting up your custom action, you can add an IF condition that first checks if the Last Active date is within the Current date. If it is, proceed straight to the intended action. If the dates differ, then first set the Last Action date before proceeding to the intended action. That way it would only be one extra set column update per user per day. It could be more work to setup and maintain, especially if you use this method on multiple components, because you will have to duplicate actions within a custom action.

As a side note, I think glide is working on making the custom actions flow with better branching, so in the future, something like this will be easier, but still doable with what we have now.

3 Likes