[DigitalPoint] Better Google Analytics

[DigitalPoint] Better Google Analytics 1.1.1

No permission to download

digitalpoint

Well-known member
digitalpoint submitted a new resource:

[DigitalPoint] Better Google Analytics - Extends Google Analytics to "track all the things".

Features
  • Serve Google Tag Manager JavaScript from your own domain
    • Normally, Google forces browsers to re-download the JavaScript every 15 minutes, which can hurt your site rendering speed. If you choose to server it from your own domain, the time between re-downloads is set to 30 days. It also allows you to serve it from the network edge (for example cached in Cloudflare's data centers).
  • Google Analytics API usage for:
    • ...

Read more about this resource...
 
Was a DigitalPoint member wayyyyyyyy back (I sold delicious mass site submissions at one point if that tells you anything 😆). Appreciate you releasing this. Not a huge fan of GA4 but this looks like it will make it much easier to use :)
 
Was a DigitalPoint member wayyyyyyyy back (I sold delicious mass site submissions at one point if that tells you anything 😆). Appreciate you releasing this. Not a huge fan of GA4 but this looks like it will make it much easier to use :)
Not much choice (other than the migrate off Google Analytics). Universal Analytics has been deprecated and will stop functioning next year, so... 🤷🏻‍♂️
 
Not much choice (other than the migrate off Google Analytics). Universal Analytics has been deprecated and will stop functioning next year, so... 🤷🏻‍♂️
Yeah, I see the notice every time I open Analytics. There are other options but this looks like it's going to make GA4 more tolerable.
 
Yeah, I see the notice every time I open Analytics. There are other options but this looks like it's going to make GA4 more tolerable.
Ya, I don't particularly love it either... but the replacements I like are cost prohibitive for what I'm doing. So... made an addon to fix most of the things I don't like about GA (like it downloading it's JavaScript repeatedly to every user every 15 minutes). :)
 
hm, I installed and connected my Google account no problems, but when I try selecting the brand new GA4 profile I just setup, I get this:

Code:
GuzzleHttp\Exception\ClientException: Client error: `GET https://analyticsadmin.googleapis.com/v1alpha//customDimensions?pageSize=200` resulted in a `404 Not Found` response: <!DOCTYPE html> <html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, w (truncated...) in src/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php at line 113
GuzzleHttp\Exception\RequestException::create() in src/vendor/guzzlehttp/guzzle/src/Middleware.php at line 66
GuzzleHttp\Middleware::GuzzleHttp\{closure}() in src/vendor/guzzlehttp/promises/src/Promise.php at line 204
GuzzleHttp\Promise\Promise::callHandler() in src/vendor/guzzlehttp/promises/src/Promise.php at line 153
GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() in src/vendor/guzzlehttp/promises/src/TaskQueue.php at line 48
GuzzleHttp\Promise\TaskQueue->run() in src/vendor/guzzlehttp/promises/src/Promise.php at line 248
GuzzleHttp\Promise\Promise->invokeWaitFn() in src/vendor/guzzlehttp/promises/src/Promise.php at line 224
GuzzleHttp\Promise\Promise->waitIfPending() in src/vendor/guzzlehttp/promises/src/Promise.php at line 269
GuzzleHttp\Promise\Promise->invokeWaitList() in src/vendor/guzzlehttp/promises/src/Promise.php at line 226
GuzzleHttp\Promise\Promise->waitIfPending() in src/vendor/guzzlehttp/promises/src/Promise.php at line 62
GuzzleHttp\Promise\Promise->wait() in src/vendor/guzzlehttp/guzzle/src/Client.php at line 131
GuzzleHttp\Client->request() in src/vendor/guzzlehttp/guzzle/src/Client.php at line 89
GuzzleHttp\Client->__call() in src/addons/DigitalPoint/Analytics/GoogleApi/AbstractApi.php at line 15
DigitalPoint\Analytics\GoogleApi\AbstractApi->makeApiCall() in src/addons/DigitalPoint/Analytics/GoogleApi/Admin.php at line 118
DigitalPoint\Analytics\GoogleApi\Admin->customDimensionsList() in src/addons/DigitalPoint/Analytics/Repository/Reporting.php at line 52
DigitalPoint\Analytics\Repository\Reporting->getCustomDimensions() in src/addons/DigitalPoint/Analytics/Repository/Reporting.php at line 107
DigitalPoint\Analytics\Repository\Reporting->createNeededDimensions() in src/addons/DigitalPoint/Analytics/XF/Admin/Controller/Option.php at line 89
DigitalPoint\Analytics\XF\Admin\Controller\Option->actionGoogleAnalyticsSelect() in src/XF/Mvc/Dispatcher.php at line 352
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 259
XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2352
XF\App->run() in src/XF.php at line 524
XF::runApp() in admin.php at line 13

Dunno what's causing it.
 
hm, I installed and connected my Google account no problems, but when I try selecting the brand new GA4 profile I just setup, I get this:

Code:
GuzzleHttp\Exception\ClientException: Client error: `GET https://analyticsadmin.googleapis.com/v1alpha//customDimensions?pageSize=200` resulted in a `404 Not Found` response: <!DOCTYPE html> <html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, w (truncated...) in src/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php at line 113
GuzzleHttp\Exception\RequestException::create() in src/vendor/guzzlehttp/guzzle/src/Middleware.php at line 66
GuzzleHttp\Middleware::GuzzleHttp\{closure}() in src/vendor/guzzlehttp/promises/src/Promise.php at line 204
GuzzleHttp\Promise\Promise::callHandler() in src/vendor/guzzlehttp/promises/src/Promise.php at line 153
GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() in src/vendor/guzzlehttp/promises/src/TaskQueue.php at line 48
GuzzleHttp\Promise\TaskQueue->run() in src/vendor/guzzlehttp/promises/src/Promise.php at line 248
GuzzleHttp\Promise\Promise->invokeWaitFn() in src/vendor/guzzlehttp/promises/src/Promise.php at line 224
GuzzleHttp\Promise\Promise->waitIfPending() in src/vendor/guzzlehttp/promises/src/Promise.php at line 269
GuzzleHttp\Promise\Promise->invokeWaitList() in src/vendor/guzzlehttp/promises/src/Promise.php at line 226
GuzzleHttp\Promise\Promise->waitIfPending() in src/vendor/guzzlehttp/promises/src/Promise.php at line 62
GuzzleHttp\Promise\Promise->wait() in src/vendor/guzzlehttp/guzzle/src/Client.php at line 131
GuzzleHttp\Client->request() in src/vendor/guzzlehttp/guzzle/src/Client.php at line 89
GuzzleHttp\Client->__call() in src/addons/DigitalPoint/Analytics/GoogleApi/AbstractApi.php at line 15
DigitalPoint\Analytics\GoogleApi\AbstractApi->makeApiCall() in src/addons/DigitalPoint/Analytics/GoogleApi/Admin.php at line 118
DigitalPoint\Analytics\GoogleApi\Admin->customDimensionsList() in src/addons/DigitalPoint/Analytics/Repository/Reporting.php at line 52
DigitalPoint\Analytics\Repository\Reporting->getCustomDimensions() in src/addons/DigitalPoint/Analytics/Repository/Reporting.php at line 107
DigitalPoint\Analytics\Repository\Reporting->createNeededDimensions() in src/addons/DigitalPoint/Analytics/XF/Admin/Controller/Option.php at line 89
DigitalPoint\Analytics\XF\Admin\Controller\Option->actionGoogleAnalyticsSelect() in src/XF/Mvc/Dispatcher.php at line 352
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 259
XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2352
XF\App->run() in src/XF.php at line 524
XF::runApp() in admin.php at line 13

Dunno what's causing it.

got something similar here, then tried again and it worked.
 
got something similar here, then tried again and it worked.
hm, let me try Ctrl F5'ing ...

Yep, that worked. Now I just need to figure out why people can't register with connected accounts but can connect them if signed up normally haha. (thread for a few days now)
 
hm, I installed and connected my Google account no problems, but when I try selecting the brand new GA4 profile I just setup, I get this:

Dunno what's causing it.
Actually something I just ran across and finished building a fix. Going to be uploaded here in a minute.

Had to do with XenForo not updating the options cache automatically if multiple options are set. It was seeing the old (empty) value, but if you try again, the "old" value is the correct value. Just added something to force the options cache to update so error will go away for new setups.
 
So we don't need to install this version if it worked out after refreshing for @thumped and I?
Definitely not critical... that error shouldn't happen again unless you were to delete the config info and start over.

There are also 2 phrases that were missing before that are there now (specifically on the heat maps, sessions and sessions in the drop-down will not have capital S on the beginning of the words.

Those are the only changes.
 
On my new install, this file is missing (assuming its call is coming from this addon):
/javascript/gtm.js?_v=xxxxxxxx

How to generate that file?
 
On my new install, this file is missing (assuming its call is coming from this addon):
/javascript/gtm.js?_v=xxxxxxxx

How to generate that file?
It should be automatic. javascript is a route similar to account. So it’s not an actual static file.

Are you getting any specific error?
 
  • Wow
Reactions: rdn
Possibly… is it an Nginx 404 or a XenForo 404? If it’s Nginx, you might have something non-standard in your Nginx config that’s intercepting the request before passing it along to XenForo?
 
Which template to modify this icon?
1653178911641.png

I would like to change it to a regular icon, as I'm using the FontAwesome Manager addon and I have Duotone disabled.
Thanks.

Edit: Found it on Template Mod: PAGE_CONTAINER_2_ba
 
Error:

Code:
Server error log
Error: Call to a member function getBody() on null src/addons/DigitalPoint/Analytics/Repository/JavaScript.php:47
Generated by: Aries May 22, 2022 at 12:42 PM
Stack trace
#0 src/addons/DigitalPoint/Analytics/Pub/View/JavaScript/Proxy.php(9): DigitalPoint\Analytics\Repository\JavaScript->getFile()
#1 src/XF/Mvc/Renderer/AbstractRenderer.php(91): DigitalPoint\Analytics\Pub\View\JavaScript\Proxy->renderRaw()
#2 src/XF/Mvc/Renderer/Raw.php(39): XF\Mvc\Renderer\AbstractRenderer->renderViewObject('DigitalPoint\\An...', '', Array)
#3 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Raw->renderView('DigitalPoint\\An...', '', Array)
#4 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Raw), Object(XF\Mvc\Reply\View))
#5 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Raw), Object(XF\Mvc\Reply\View))
#6 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'raw')
#7 src/XF/App.php(2352): XF\Mvc\Dispatcher->run()
#8 src/XF.php(524): XF\App->run()
#9 index.php(20): XF::runApp('XF\\Pub\\App')
#10 {main}
Request state
array(4) {
  ["url"] => string(30) "/javascript/gtm.js?_v=858c8d16"
  ["referrer"] => string(48) "https://www.joyfreak.com/account/account-details"
  ["_GET"] => array(2) {
    ["/javascript/gtm_js"] => string(0) ""
    ["_v"] => string(8) "858c8d16"
  }
  ["_POST"] => array(0) {
  }
}
 
Back
Top Bottom