Best way to measure TeamRaiser registrations in Analytics?

Options

I'm using Google Analytics (currently setting up GA4), and I would love to find the most accurate way to measure TeamRaiser registrations. I'm currently using page locations, but would love to use something in the data layer. Right now, I'm getting registration numbers that are much higher than what the LO data reports.

Conversion by Page Views
Right now, I'm using the following setup in Google Tag Manager:

  • Page name matches RegEx isRegistrationThanks=true|pg=rthanks
  • Page title does not match Regex “you are already registered”

I've noticed, though, that the thank you page could contain either one of those, but after you go from pg=rthanks to the next page (center page), that it has the isRegistrationThanks parameter in the URL, so it's firing twice.

What do other use for page view-based conversation for TeamRaiser signups?

Conversion by Data Layer
What I would love to do is to have something in the data layer that identifies a page view as a successful TeamRaiser registration, but it only shows up at the end of the registration process. Does such a tag exist? I couldn't find one. But this is the ideal: some kind of flag in the data layer that says that a registration has just been completed.

Tagged:

Comments

  • @Reid Dossinger
    Since S120 tends to fail in rthanks, we've got each form launching some javascript that inspects the DOM for the actual conversion value, then adds it to a window.tyAMT variable. From there, we can set GTM to only update the DataLayer if it's got a good tyAMT. Honestly, seems like it's been hit-or-miss for GA but tends to work correctly for Facebook pixel.

    If you're going that route, you can avoid firing the JavaScript from within Luminate, using session variables. Something like:

    [[?xx::x[[S80:tyHITS]]x::
    fire tyAMT javascript
    ::
    don't fire the tyAMT javascript
    ]]
    [[U0:tyHITS=1]]

    Theory goes that the U tag populates the S80 tag on first rthanks pageload, but not until after the javascript has already fired. If the page gets reloaded, S80 will be populated and you're good to go.

    ‘Course, if you’re going this route, you could also just go ahead and have the javascript fire the DataLayer update and skip doing it in GTM altogether.

Categories