Deployment: https://project-gaxy.appspot.com/ga.js
Google Analytics / Google Tag Manager Proxy by Go.
Start server in local:
go run *.go
Build binary:
go build -o gaxy .
./gaxy
Testing:
go test
https://github.com/users/duyet/packages/container/package/gaxy
docker run -it -p 3000:3000 \
-e ROUTE_PREFIX=/analytics \
-e GOOGLE_ORIGIN=https://www.google-analytics.com \
ghcr.io/duyet/gaxy:latest
https://github.com/duyet/charts/tree/master/gaxy
helm repo add duyet https://duyet.github.io/charts
helm install google-analytics-proxy duyet/gaxy
https://cloud.google.com/appengine/docs/standard/go/quickstart
# 1. install gcloud
# 2. install app-engine-go component
gcloud components install app-engine-go
# 3. deploy
gcloud app deploy
The following environment values are provided to customize Gaxy:
-
ROUTE_PREFIX
: Gaxy proxy prefix (e.g./analytics
). Default "" -
GOOGLE_ORIGIN
: Hostname to Google Analytics. Default https://www.google-analytics.com -
INJECT_PARAMS_FROM_REQ_HEADERS
: Convert header fields (if gaxy is behind reverse proxy) to request parameters.-
e.g.
INJECT_PARAMS_FROM_REQ_HEADERS=uip,user-agent
will be add this to the collector URI:?uip=[VALUE]&user-agent=[VALUE]
-
To rename the key, use
[HEADER_NAME]__[NEW_NAME]
e.g.INJECT_PARAMS_FROM_REQ_HEADERS=x-email__uip,user-agent__ua
-
List all the parameters of Google Analytics:
- https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters - https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference
-
-
PORT
: Gaxy webserver port. Default: 8080
<!-- Google Analytics -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://project-gaxy.appspot.com/analytics.js'></script>
<!-- End Google Analytics -->
MIT