Home

Awesome

ga-dashboard-demo

A demo on how to build your own Google Analytics dashboard with R, Shiny and MySQL

A guide blogpost here: http://markedmondson.me/enhance-your-google-analytics-data-with-r-and-shiny-free-online-dashboard-template

Live demo version here: https://mark.shinyapps.io/GA-dashboard-demo

Intro

Whilst shinyga() lets you create Shiny dashboards that anyone can connect their own GA data with, the more common use case of creating a dashboard to use just your own data is better served by this example. This template lets you clone and enter your GA id to quick start your own Shiny dashboard.

Features

Screenshots

Trend Upload to MySQL Analysis of data

To Use

  1. Clone this repository to your own RStudio project.
  2. Get your MySQL setup with a user and IP location, and the GA View ID you want to pull data from. You will also probably need to whitelist the IP of your Shiny Server. Add your local IP for testing too. If you will use shinyapps.io their IPs are:
  1. Create another file called secrets.r file in the same directory with the below content filled in with your details. This file is called in functions.r

     # secrets.r
     options(mysql = list(
     "host" = "YOUR SQL IP",
     "port" = 3306,
     "user" = "YOUR SQL USER",
     "password" = "YOUR USER PW",
     "databaseName" = "onlinegashiny"),
     rga = list(
     "profile_id" = "YOUR GA ID",
     "daysBackToFetch" = 356*3
     ),
     shinyMulti = list(
     "max_plots" = 10
     ),
     myCausalImpact = list(
     'test_time' = 14,
     'season' = 7
     ),
     shiny.maxRequestSize = 0.5*1024^2 ## upload only 0.5 MB
     )
    
  2. Install rga() if you need to, then run the below once locally in the same folder to have the app remember your GA OAuth2 settings.

     ## Run this locally first, to store the auth token.
     library(rga)
     rga::rga.open(where="token.rga")
    
  3. Run locally with shiny::runApp() or upload to your shinyapps.io account or your own Shiny server.

  4. Customise your instance.