How to track button presses for each user

Hey Gliders! (not sure if this is a thing :stuck_out_tongue:)

I am stuck with my app for students to share documents with another. Everything works perfectly fine but since I have so much data I had to pay for the premium version. And this is my problem, I don´t have any option to get money from the univerity or any students group. Nevertheless I want to make it free to acces, but to make some money to pay for the app I thought of limiting the amount of downloadable documents. But then students can pay 1€/month to have unlimited downloads!

My idea to make this happpen was to track the download button presses for each user. But I find no way to make this happen within Glide.

If you any other idea how I can make this app generate some money to pay itself and give students the option to easily share their material I would be very thankful!

Here is my App:
Sorry I am from Austria so it´s in German. :innocent:

I can’t think of a way to do what you want within Glide.

Note: The below would be a way but would require knowledge of webpage building and javascript but I figured I would mention it anyway.

What you could do is have the download button link go to a custom webpage . You could pass in the document link itself and the webpage would ask them for their email address. At this point you could do some javascript to send the file and record the count to the entered email address.

From what I understand, you have created a button with a link to download the documents. To track who has downloaded it, you could create a form button where the user has to fill a form before the download the document which will capture their email ID. Only once they fill that form, your original download button will be seen (this could be done by limiting the visibility of your original button by signed-in user)
That way you know how many documents have been downloaded by each individual email address. You could use that to solve your purpose.

Why not have the button point to a Gumroad link, where you can have the downloadable docs?

Hey, thanks everyone for the great ideas. I went with @Manan_Mehtas idea by using a form button. It was a ittle bit of a hassle but it works quite fine.

Neverthelss new problem appeared! :stuck_out_tongue:

I am also trying to get recuring payments done by Paypal for the Premium Users.

But I am struggling. Hehre is the story:

In Paypal I have a link for the subsription. When a customer clicks taht link, he or she can subscribe. There is also a link for unsubscribing the recurring payment.

When a user wants the premium version which opens up some more features in the same app he or she needs to subscribe to the recurring payment. So I made buttons for the subscription and unscubsirption and changed the visibility accordingly. (When subbed see Cancel Sub. and when not subbed see Start Sub.(“Get Premium”)). The problem is, how can I track which user really did the subscription. I thought of making a table with all users, keys and Mails and a row Subscribbed with 0 or 1 this row is updatet as soon when a user finshes the subscription process or the sub. cancel process.

How to do this? Make an request to paypal when there is a new subscriber paying, then lookup the mailadress in the sheet matching with the mail of the recurring apyment profile and give the row subscribbed a 1. Same goes for unscubscribed. BUT!!! What if the paypal Account has a different Mail used than inside my App? Boing…no idea how to get over this…

If someone can help me out here, that would be amazing.

Cheers Nico

I had/have the same issue and decided to provide the instruction to the user that they need to use the same email for both.

Hi Nico! When you say “Make an request to paypal when there is a new subscriber paying” how are you actually setting that up?

Hi Nico, I had the same issue.
I created 3 tabs: 1) one time payment (glide payment 2) subscribers 3) combined 1+2
I’ve used, stripe-> google sheets to add in 2) whenever there is a new customer.

If this is still relevant to you I’m happy to elaborate more on this

1 Like

There are modules for that in integromat