Converting page paths to row owners

Ok friends, so Google Analytics has not been able to track individual page activity on Glide for several months now :woozy_face: and while the Glide team is working on a fix, I need to provide tracking data to my paid users ASAP, so I found a new way to capture the data on GA and I need help making the appropriate relations on Glide!

Users have featured business profiles where they are supposed to be able to what kind of activity they have on their pages. Example of dashboard:

This is how we were tracking the data before it broke with new Gilde release (from the page titles on GA):

Google analytics can’t track ‘page names’ anymore so my data has been stunted BUT I figured out it can still track ‘page paths’ (and this last section is the rowID):

I need help converting the GA page path into a rowID and then creating a relation to which user owns that rowID (or multiple rowIDs) and making it so that the user can view the data for what happens on their business profiles. We previously did this with the page titles (names) but now i have to figure it out with the paths and row IDs.

Pictures of tables. Paid “users” create their own “professional” profiles and/or “salon” profiles

I know this is complicated, but can anyone help me with this? I’m already so frustrated that I need to find a workaround after setting this whole thing up :melting_face:

To extract just the RowIDs from the GA page path, you can use the Extract Matching Text plugin with the following regular expression:

([^\/]+)$

With that, you should be able to build the relations that you need, yes?

2 Likes

Oh so interesting! Lots of new stuff! OK before i can test that I need to figure out how to get the new GA information on my Google Sheet. I didn’t do the original syncing myself, is this something you happen to know how to do?

This is the original one with the page names. Do I need to DL something or add in some code in order to connect my GA to a new sheet with the page paths?

ok i’m not going to say i’m a genius but i figured out how to extract the page paths from Glide lol

So the page paths don’t have a full URL:

So do i have to make a template first? To add the whole URL to the beginning of it, and then use this experiemental code shown in the picture? Did i pick the right one?

THANKS!

1 Like

image

image

There’s this plugin, you don’t need to use experimental code.

3 Likes

@Darren_Murphy @ThinhDinh ohhh I see! I couldn’t find ‘extract matching text’ option because I didn’t type it in the text box. Funny i found a wild workaround by slicing the array and working backwards from the last /. This was so much easier than that :sweat_smile:

So I was able to create relations from the RowID to the salons or pro’s that they are associated with.

But now If I want my paid users to only see the data for the salon or professional profiles that they own, what kind of relationship do I need to add on the database side to create my visibility conditions? Users can own multiple featured profiles…

1 Like

You have a relation from your GA data table to your Salons, yes?
I’m guessing you could probably use a lookup through that relation to fetch the SalonID (or name), and then use that as a filter?

2 Likes

ah, got it! thanks!

@ThinhDinh @Darren_Murphy I ran into another snag with the page paths :face_with_peeking_eye: Some of the paths aren’t finishing with the RowID and therefore are not relating back to the business profile. Here’s an example of a path (which is a salon with a ton of views and engagement on it) and it’s not connecting to the business bc of this weird path name.


This weird path name converted to the correct path once I plugged in the URL

Any ideas why this is happening? Or how to work around it? I’m losing a ton of data capture because of this.

That is how the deep link was constructed before the new computation model, I believe.

It corresponds to:

{"t":0,"s":"class-Sheet1","r":"yptsU4r2S6iNNonGtXIuyw","n":"Fringe Hair Studio "}

Now the problem is I don’t know how you can do a decode like this inside Glide, I tried many times in the past but was not successful. Theoretically, if you can decode that, the “r” value is the thing you need.

1 Like

We can use a couple of plugins…

First the Decode Text plugin (it does Base64 by default):

And then the Transform JSON plugin:

Which gives us:

1 Like

That decode column would have been useful back in the days :sweat_smile: Thank you!

1 Like

omg I love you guys! @Darren_Murphy I don’t think mine decoded right? It doesn’t look like yours and then nothing computed onto the Transform column. What did I miss?

It looks like you’re feeding the wrong column into the Decode Text column.
Try it with the first column - “Page Path”

i did that too, same thing?

You might have to strip some of it out.

Can you paste the Page Path value from row 16 please, so I can try it?

Just for giggles, here’s a one line JavaScript solution :wink:

return (JSON.parse(atob(p1)).r)

absolutely. Thank you so much!

/dl/ewAiAHQAIgA6ADIALAAiAHMAIgA6ACIAYwBsAGEAcwBzAC0AbgBhAHQAaQB2AGUALQB0AGEAYgBsAGUALQA3AFAAVgBqAHkANgBzAFkASABGAEIAaQBDAEMAUgBkAGQAVQBKAHkAIgAsACIAcgAiADoAIgBhAC4AdgA5AGkAQwAtAEMASABUADcASwBJAEgALgBYAEUANQBVAHQAZAAzAFEAIgAsACIAbgAiADoAIgBUAG8AbgB5ACAARgBvAHgAIAAiAH0A

They must still be using these paths now even with the NCM because this is all the activity from yesterday on my GA

Unless any profile that was created before a certain date is stuck with that and therefore causing the low data return even with current activity. I’ll have to dig around and see if any profiles created from Sept onward have an old return

hmm, decoding that (even after stripping off the /dl/) doesn’t result in valid JSON.
I’ll need to fiddle with it a bit…