Replace Add Rows by Set Columns to trace user clicks. Your Best Practices pls for the least nb of rows

Hi all :cherry_blossom:
I have a current easy user clicks tracking, to help me collect clues about user behavior.
My “Add row” is working fine and was a “safe solution” for my previous student project (and the exam). As I had no idea how Glide would support simultaneous user access, if any. OK. Done.
But. Too many rows are thus added and so quickly. So it jeopardizes my 500 rows limit all the time.
I have to replace all Add rows by Set Column before my prototype is actually used.
I estimated about 60 columns to create for all relevant clicks.
I have more Anonymous users than registered users with “dummy Glide emails”.
Here’s how a row look like with my current tracking

Here’s what I think I should display

Where/Screen Name | Who/Name | @email | When Date/T |

My concern is that each Set Column will have to append a new item in a list of (ex Date/Time), to save rows. But will that work with Anonymous users?
I don’t need the exact journey of each user, just a global view / total of what is used in my app.
But I don’t want the Set Column to fail and cause errors, especially for users.
Here’s my test app link, to let you see what kind & amount of screens I want to track
Sharonᴾᴹ Lab · Entrée · Made with Glide (glideapp.io)
At least:

  1. The Door

  2. The 5 main tabs (I know you cant’ track clicks on tab icons, I’m using actions in the TOC) = Main Home, Memento Home, Best Practices Home, Activities Home, Job Interviews Home

  3. Their sub tabs

  4. The floating buttons (Droplet, Hints, Submit Request)

  5. Each opened detailed Screen from inline lists

  6. The click on the hat to access the FAQ (Questions Bar)

Thks for your best practices before I start.

Do you need to view this tracking data in the app, or are you just collecting it for backend analysis?

If the latter, then a good option would be to send webhooks to Integromat, and have it add rows to a completely separate Google Spreadsheet. That approach will cost you zero rows. And Integromat gives you 1000 operations per month for no charge.

EDIT : Thks, Darren, I only need to see them in a Glide Table or wherever it may go as long as I could before I delete them once analyzed with mine own eyes.
So it does not matter where the data goes, provided it’s reliable, does’nt perturb user experience (silently), and stays within all the limits: 500 rows (actually, only about 200 once all glossary contents completed), 1000 GS edits, 100 webhooks (Zapier/Integromat).

The pb with Integromat / Zapier, is that I still have only 100 zaps/webhooks in the free plan/month. I didn’t manage to make Integromat work the last time (pending forever).

So assume I have at least 10 users / week. It’s doomed.
I don’t know if you can see my app limits by rolling over the “Upgrade” top right Glide link?
image
And it’s just the lab test app. I’ve already purged lines.

ah yes, the 100 limit on Webhooks will definitely trip you up.

Okay, another idea…
Write your data to a Google Sheet, and then have a background process that regularly moves it to another Spreadsheet (you could even do this manually while you’re testing). Of course, I’m assuming that you have a Google Sheet connected to your app - do you? :thinking:

1 Like

I can have GS or Glide Tables. I started my app with GS, so no pb.
But my concern is how to append items within the same column with Set Column for each user click, especially the Anonymous ones?

What I’m suggesting is that if you take this approach then you can keep it simple and continue with your Add Row approach, because row count will no longer be a concern.

There is nothing wrong with your Set Columns idea, but it could get complicated. And why make it more complicated than it needs to be?

1 Like

Ok. But my current tracking is all in Glide Tables. So I’ll have to do it all over again anyway.
And yes, with 1000 edits, including my glossary updates & UI incremental enhancements that will stabilise progressively, this buys me time. And it’s a good idea to backup my data history (always useful for user analysis with a clear head) without making multiple copies of the entire app for history reasons.
Merci, Darren.
EDIT: WAIT :warning: If I Add Row to GS. OK, I’ll not reach the 1000 edits that quick, but, when I’ll delete/move the rows to another GS, Glide will count this as edits. So it will count TWICE. Still much more than the remaining 200 rows or so available with all my glossary items. But, it’s still a DOUBLE COUNT.
And as I say, I cannot use > 100 webhooks/month, whatever Integromat can offer me as illimited.

If you remove 100 rows (or 1,000 or 1,000,000) from your Google Spreadsheet in one go, that will only count as a single edit. Try it and see :wink:

If I delete manually with Shift+Select+Del?
Or is it one of your “Wizardry”? 🧙‍♂️How does it “firework” exactly?

Tip… since you have a door to enter your app you can use it as a redirect mechanism. Duplicate your app with the same Google sheets and count users’ edits in the glide table or have a script to count it, when it reaches 1000, the door tab will send users to the duplicated app.
All the data that you don’t use in the app, write to the separate sheet that is not used by any element…
Now you have a free app with unlimited rows and edits

Update: glide started counting rows not used by any element, just find out, so it has to be done by a script to copy that data and delete row

1 Like

Thk, Uzo. The redir option sounds interesting, but not for this context, as I’d rather keep 1 single URL & QR Code, and do not wish that user endure the “double initial loading” of 2 apps instead of 1. And the outlimit is often reached during their session (with all the possible clicks), not at the door.
I’ll keep that in mind in the future when need be.

If I gather what you wrote, @Darren_Murphy
1/ Good news, I don’t need to rework all my Glide Tables, nor convert them to GS, nor change each and every Customized Actions triggering the Add Row: pretty cool, so far.

2/ All I need is to export them as CSV for ex, then I can reset completely all tracking rows, and avoid the pb whenever I duplicate my app to backup the history of tracking. Since all the tracking is reset and no need to duplicate.

3/ It could appear easier to progressively convert all tracking tables to GS for easier copy for analysis, but that would imply that each Add Row will not only increase the rows count (500, actually, only 200 + - because of the glossary contents), but also the Edits counts (1000 - (all logins*2 average/user) =< 9XX)

I hope that it’s “easy enough” to export Glide Tables as CSV?

The link for the app is the same… for the main door where redirection will happen,
just make like 800 edits limit, for triggering and you good… that’s what I do for my apps

add rows will affect rows limit… they just changed that… i have to make codes for my apps to transfer rows and delete sours

Yes, I’ve noticed: my Glide Tables populated by Add Rows and not shown at all in the UI used to not count for weeks , no matter if I let them days without looking or not.

What parameter you get to catch the current edits counts?
What kind of scripts & langage/platform is required? I’m not sure I can write that, I understand the algorithm, but my programming skills are > 20 years rusty and more command lines than object-oriented.
I have to think this through before getting sth operationnal.
EDIT: or do you mean that the 2nd app is not published, yet still accessible by users through redirection, so I still keep one single url and QR code?

I gave you a link to my script, just copy it and paste it onto the script editor in google sheets…

don’t forget to add on change trigger by clicking the clock icon or in the old version … edit tab… current projects triggers

2 Likes

Yes.

The above uses Integromat as the delivery mechanism, but once you have the CSV structure you can do whatever you like with it.

3 Likes