Ninja Space Content Tech Blog

Pros and Cons of G4 from Google Analytics Versus Universal Analytics (UA)

April 9, 2022
Recently, Google Analytics is always showing a top banner to remind Google Analytics users that UA (Universal Analytics) is going away on July 1, 2023 and we'll need to embed the G4 code instead. 

The Google Analytics banner message says: "Universal Analytics will no longer process new data in standard properties beginning July 1, 2023. Prepare now by setting up and switching over to a Google Analytics 4 property." Now, it's still over a year away from today's post before UA goes away but I'm starting to add the G4 code to the head of my site whenever I'm already having to go into the files to update something on any of my websites so that I can start to compare and contrast the differences of the reports.

I've already added the new G4 code to at least 5 of my websites. First off, I quickly noticed that there are less options for reports on the left side menu for G4 reporting but maybe that's a good thing because I didn't and still don't always use every sub-menu feature of Universal Analytics. Here are other differences that I noticed:

Realtime Reporting Differences
Another obvious difference right off the bat between the two versions is Realtime Reporting. Realtime Reporting for the G4 shows more users on my site at any given time than UA Reporting. I think that's because they are keeping the time frame the user enters a page wider for that report. For instance, I may see 3 users on real time reporting on G4 while I would only see 1 for the UA code on realtime; and I'm opening both side by side at the same time so it's been interesting. I particularly like the map of my realtime users of the G4 Realtime dashboard! It's wonderful!

Reporting on the Current Day
While I like that the G4 Realtime Reporting is reflecting cool features and showing a larger number of realtime count than the UA Reporting realtime count, if I were to want to go into an overview of today's analytics, G4 doesn't seem as accurate as the UA for that. There would be mornings where I'd go in to see how many users have gone to my sites today and there could be 20 users reflected on the UA reports but only 3 for the G4 reports. I'm assuming it's taking longer for G4 to pull today's number up to the minute. Maybe this will get better as we get closer to 2023. We'll see.

Do I like G4 better than UA?
Thus far, I think I do like G4 better. I think keeping realtime user count for any user within a wider timeframe is good. Many times if I see a realtime user is currently on my site from Google Analytics, I would refrain from publishing an edit until I see that count to 0. I don't wait until in the middle of the night to publish an edit for many of my sites because sometimes my content needs to be updated to reflect accuracy on event details. So keeping that range wider is reducing the possibility that a user is landing on my site while I'm in the middle of a publish and therefore, reduces errors for them.

I'll definitely add more to this if I've discovered anything more that I wish could be better or any other Pros and Cons.

Fun T-shirts:
 

How to Reset the ADT Doorbell by yourself

January 4, 2022
Here are the Steps that I learned from an ADT technician by watching him service an ADT doorbell that I was having trouble with:
  1. Hit the Reset button in the back of the ADT doorbell with a pen or pointy pencil until you hear a ding (usually about 10 seconds).
  2. Go to the Computer and log into the Pulse ADT website (https://portal.adtpulse.com) and enter your account information. Go to "SYSTEMS". Click the "Manage Device" button and select the right device.
  3. Enter the 8 digit pin.
  4. Click on the ADT Doorbell (not the reset button) where a normal user would. The instructions online says to do it for 5 seconds but the technician did it in front of me and he only pressed it quickly and it worked. This will cause the camera to blink in green continuously.
  5. Go back to the computer to watch it process and sync the device to your account. Within a minute, it should be synced up now.
Verbal notes shared by the technician:
  • When you lose electricity, the battery life on the ADT doorbell device only lasts for 1 hour, at least my device version is this way! So, charge up using the USB cord as quickly as possible.
  • Technician says charging it for 6 hours should fully charge the doorbell via the USB plug.
  • If the ADT doorbell ever breaks and as long as we're a paying ADT customer, they will replace the ADT doorbell with a newer ADT doorbell for free.
  • They don't service new Ring doorbells under ADT anymore so if you had one from ADT, you got lucky. They are only selling and installing brand new ADT doorbells now, not Ring doorbells. They will help with an existing one if the Ring device was installed under the ADT plan previously. 
Related Doorbell Devices:

 

MISC: Useful Commands, Keys and Notes

October 16, 2021
To find all git files in your machine type the following in the terminal: find . -name .git -type d -prune

Shortcut: Click F2 and then change the variable name and click 'enter' to change all variables that is the same as what you selected before hitting F2.

Things I didn't remember to do when trying to create my server and database from memory:
  1. Install nodemon by: npm install nodemon --save-dev
  2. To pull variable from .env after configing is process.env
  3. After creating the database name in psql. \c [database name] to make sure you're in that database to create new tables.
  4. Type \d [table name] to see schema that you've just created.
  5. PSQL is very strict. Must have a space after the table name like so for inserting data: INSERT INTO people (firstname, lastname) VALUES ('firstTest', 'lastTest');
  6. When updating PSQL database, make sure to use single quotes. Double quotes won't work. Example: UPDATE people SET firstname='James', lastname='Taylor' WHERE id=1;
Suggested Work Accessory:
A good laptop stand can give you a better angle for Zoom calls and avoid that double chin look.
 

My GraphQL Study

October 16, 2021
I haven't finished my Angular tutorial yet but I'm going to have to shift gears here and start learning GraphQL. It's been said that it's a great alternative to Rest API as you only need one end point to get data for a group of tables in your database. You implement GraphQL in the back-end of your project. I haven't started coding in it but what I always do is watch a lot of YouTube videos and documents to narrow down the resource(s) that I need to look back to. Here are my notes.

PROS for GraphQL from watching Pedro Youtube:
  • You only need one end point to get data from a group of tables which is /graphql
  • You can query to receive only the data you need.
  • GraphQL is strongly-typed.
  • You can utilize the GraphiQL to test a query in the browser and try the end point
  • If using PostgreSQL, you will need to use pg-promise library so there is familiarity if you're used to PostgreSQL.
  • You won't need a body parser?!
  • Gets rid of REST
  • You don't have to make many calls. Just 1 for data you're looking for even if it's nested information
CONS for GraphQL:
  • You'll be required to install a few additional libraries and add more folders and files like schema or import schema from the graphql library
Differences for GraphQL versus Rest API that stood out to me:
  • Instead of using req.body or req.send, you use resolve. You send your queries with resolve and don't need to create database adapters except to create your table.
  • npm install express-graphql graphql
  • This doesn't work anymore: const expressGraphQL = require('express-graphql'); Replace it with  const expressGraphQL = require('express-graphql').graphqlHTTP
  • This is an example of a query using GraphiQL: 
    query {
     person(id: "1") {
      id
      firstname
      lastname
      emails {
       id
       email
       primary
      }
     }
    }
    

This a great resource to read on starting up the files: https://medium.com/codingthesmartway-com-blog/creating-a-graphql-server-with-node-js-and-express-f6dddc5320e1

If your stack includes PostgreSQL, this is a great GraphQL article: https://blog.cloudboost.io/postgresql-and-graphql-2da30c6cde26

Journal:
October 16, 2021 at 2:21PM: I spent a good couple hours looking at 3 Youtube videos about GraphQL and a few readings from online so I'm ready to create a new project and utilize GraphQL for the first time. I'll build my server with Express first.

 

AB Testing on Buying a Domain From Godaddy vs Netlify

September 14, 2021
I found something interesting this past week.

Last month, I bought a domain name via Netlify because I've been deploying my front end React apps there during bootcamp and decided to do something different with domain buying. Earlier this year in January 2021, I also bought another domain name but this was through Godaddy. I didn't think much of it. I buy almost all of my domains through Godaddy because that's what I've been doing for over a decade as I'm comfortable with their interface.

Even though my January 2021 domain that I bought through Godaddy has been live for 8 months and the Netifly domain has only been live for 1 month, my Netifly domain has been properly indexed already and showing up in Google search queries way faster than my other domain from Godaddy. The cost for me was actually cheaper through Netlify too!

I have a few theories on why this is happening.

First off, I built my own database for the Netifly domain, whereas I was pulling data from a public API for the Godaddy domain. Right there, was very key. I have unique content displaying for my Netlify website.

Secondly, any domain that I buy through Netlify, if I'm hosting it there, comes automatically with a secure socket layer. I didn't have to buy extra for SSL. Therefore, my Netlify site is secure from the get-go via https whereas the January domain purchase is not. Godaddy charges me extra for SSL certs so I usually avoid buying one unless my revenue justifies it.

Lastly, I was hosting through Godaddy's shared hosting which could be a very bad thing if I'm sharing the same IP address with another site that belongs to someone else that was marked as spam. That could affect my rankings and the way Google indexes my website.

I'm very happy with how my newer site is indexing in Google's search engine and can't wait to share any new findings. I highly recommend trying Netlify out if you're torn between using Godaddy or Netlify to buy your domain and plan on deploying a React app.


 Tech Supplies:

 

About Ninja Space Content


Ninja Space Content I have been building simple websites on my own since 2008 and currently run several websites at the moment, including this one. I used to be an account manager for an affiliate/e-commerce company, helping affiliates grow their sales so I have some knowledge on the business side and client side of affiliate marketing. Most recently, I decided to complete a JavaScript coding bootcamp and graduated in Dec 2020.
Note: links to resources and promoting special deals may allow me to earn a small commission from each sale.
Work Station Accessories