Better Analytics

Better Analytics 3.1.1

No permission to download
Definitely spending way too much time on this I think. hah

157102_0_articledetail_270_008_4232558_sm_153_140.jpg
 
Heatmaps so you can see what's going on broken down by the day of the week/hour of the day...

For example, sessions for the last 4 weeks:

upload_2015-2-22_22-36-5.webp

Transactions for the last 4 weeks... you can see how PayPal issues IPN notifications for recurring subscriptions around 2-3am.

upload_2015-2-22_22-38-0.webp

Emails being opened (incomplete data since it's only been tracking for half a week):

upload_2015-2-22_22-39-10.webp

For people using AdSense or AdWords, it can break down earnings/spend by the hour (along with lots of other stuff).
 
If you are super bored, you can watch how you can see data/events streaming across in real-time on the new version...

Like you can watch emails being sent/opened, what external links are being clicked, client-side JavaScript errors happening on your site, etc.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
 
For full functionality/reports this is what you need to enable/setup...

Universal Analytics enabled.

Advertiser Features (under Property Settings):

View attachment 98718

User-ID tracking (under Tracking Info -> User-ID):

View attachment 98719

Two Custom Dimensions:

View attachment 98720

Under the view settings, enable Site Search Tracking with "q" as the parameter.

View attachment 98721

Enable Ecommerce stuff:

View attachment 98722

Just to be sure, these are ALL options which we have to configure if we want to use your add-on with full utilization, right?

And in our ACP->Options->Statistics and Metrics we must enter our property ID and setup custom dimension indexes, right?
 
Added a few more things... When someone comes back to your site by clicking a link in an email that your forum sent them (for example a notice about someone replying to a watched thread), Google Analytics will now capture that as an "Email" channel for the source. For example:

upload_2015-2-27_14-14-57.webp

Added the ability to trap client-side errors as events (JavaScript and/or AJAX errors).

I dumped the reliance on my API servers for API reporting (you can set up your own Google API project). I also ended up writing a new reporting class from scratch (rather than using the one Google supplies) so that you can do concurrent queries (ends up speeding up the member Analytics tab a ton since that data comes from 4 or 5 different queries... now they can run in parallel). Also made a custom OAuth2 receiver so you can OAuth against your own API project.

Also added a Setup test/integration tool that can utilize the Google API to check your account to make sure things are setup properly in your Analytics account as well as your settings in XenForo that apply.

upload_2015-2-27_14-20-51.webp

So this started as a dumb little add-on that simply replaced the old Analytics code in XF with the new Universal Analytics. And now it's become a huge thing (Ecommerce tracking, massive event tracking, API integration with custom multi-threaded API class), ability to track page views on the backend for users who are blocking Analytics, Heatmap reporting, individual user reporting, ability to track things like when a user opened an email, etc, etc.

I have probably around 200 hours of development time sunk into this add-on at this point and in the end if gives me zero branding links and zero dollars. Well actually, that's not true, 1 person donated $5 once. But either way, 200 hours for $5 isn't the most awesome. lol There's a lot more cool stuff I want to add, but the $0.02 per hour development rate just isn't going to cut it. :) Long story short is this nothing is going to be taken away that was already available in it, but a few of the new advanced features will only partially work without a license. If you don't need/don't care about that stuff, then no biggie... it's still free.

The extra/special stuff:
  • Heatmaps work, but are limited to 4 metrics without a license.
  • Not all event tracking options are available without a license (for example some of the more advanced stuff like knowing when users open their email or capturing client-side JavaScript).
  • The ability to feed in page view data for users who are blocking Google Analytics on their end (it seems like this ends up being about 5% more visitors/page views at the end of the day) requires a license.
  • Charts on member's profile tabs are limited to user's with user ID 100 or less (so you can see what it's like) without a license.
  • The tricky multi-threaded API stuff... meaning backend reporting feeding of data is faster with a license.

So, where is new version :D
It's running on https://www.digitalpoint.com and also installed it on https://inmateintake.com as a test last night.

Need to find someone who wants to try it out as a test... since so much has changed, want to have someone who's not me test it to see if they run into any issues (for example is the instructions easy enough for them to integrate the API stuff for reporting).

Just to be sure, these are ALL options which we have to configure if we want to use your add-on with full utilization, right?

And in our ACP->Options->Statistics and Metrics we must enter our property ID and setup custom dimension indexes, right?
See screenshot above... a integration assistant/test is coming in the soon to be released version.
 
  • Like
Reactions: sbj
Added a new daily stat that allows you to see how many registered users are on your site each day who aren't reporting their traffic to Google Analytics...

upload_2015-2-27_14-48-55.webp

upload_2015-2-27_14-49-20.webp

lol... hi @Alfa1 :)

Not that it particularly matters anymore, because now we can feed the page view data for those users in on our end automatically.

upload_2015-2-27_14-50-45.webp

On a side note, I turned on the "Everyone" option there just for a minute to make sure it was work... page views just flooding into Analytics like mad the instant you flip the switch (can see the change on their Real-Time tab). Because that option basically tracks things like search engine spiders as normal sessions/page views. Not really recommended to do that, but useful if you need to do testing or something.
 
Because I can't just leave it alone. lol

Added the ability for source/medium tagging (which is done automatically for links within emails sent out) to remain intact when the link is a redirect (for example the link for unread messages in threads or conversations). That will result in more accurate Acquisition source numbers...

upload_2015-2-28_11-50-39.webp




Also added realtime event tracking for attachment views/downloads.

upload_2015-2-28_11-43-38.webp

Which then lets you report on it however you want. For example if you wanted to know the top attachments being viewed/downloaded broken down by country:

upload_2015-2-28_11-47-11.webp
 
digitalpoint updated Better Analytics with a new update entry:

Complete rewrite, plus a ton of new features...

Lots of new stuff...

Ability to do server-side tracking of users with Google Analytics Blockers installed (ends up being about 5% more traffic logged).

Tons of new Event tracking options (things like knowing when emails are sent, emails are opened by the recipient, what external links are being clicked, etc.)

Ability to set up your own Google API project for reporting on your Analytics data.

Keeps proper source/medium intact when user signs up with Facebook/Twitter/Google+ (also keeps it...

Read the rest of this update entry...
 
error when trying to Link/Authenticate Your Google Analytics Account:

Unknown Google API Error:

stdClass::__set_state(array(
'access_token' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'token_type' => 'Bearer',
'expires_in' => 3600,
'refresh_token' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
))

(i've changed the token values, in case that wasn't obvious)
 
Errr... blah... I uploaded the wrong version of the DigitalPointBetterAnalytics/ControllerAdmin/Analytics.php file...

In that file, if you change this:
PHP:
if (empty($response->expires_at))
to this:
PHP:
if (empty($response->expires_in))

That's what it was supposed to be... gonna build a new download archive (that's going to be the only change).
 
Top Bottom