Posts

Welcome to my Encyclopedia

If you made it here, you found my notes page.  I read a lot of information and then I test out that information so I can put it in my own words.  After trying browser bookmarks, trello boards, evernote, plain old notebook, I'm trying this option to reference all the great stuff I read. I am not taking credit for the great content out there, I only needed a spot where I can find it again and again.   Never stop learning!

Daily Nugget: GA4 Client ID Globally

  How to get the GA4 Client ID in a few ways because you need to use the Client ID in some way ➡ ➡ ➡ 1. You are in the land of "I have little control and I'm desperate": The Client Id is cookie, and you could try to grab the cookie with two variables const cookieObjCid = new URLSearchParams(document.cookie.replaceAll("&", "%26").replaceAll("; ", "&")); const gaClientId = cookieObjCid.get("_ga").match(/[0-9]+\S[0-9]+$/g); 2. You have the power of the backend and call on the forces of gtag API: After you run the config tag, then do this or that... gtag("get", "G-MEASUREMENTID", "client_id", resolve); }); gtagClient.then((client_id) => { window.gtagClient1 = client_id; }); OR gtag("get", "G-MEASUREMENTID", "client_id", (client_id) => { window.gtagClient2 = client_id; }); 3. You think GTM is amazing and the people that create community templates are real...

Daily Nugget: Terminal Double Quoted Nightmare

  Stuck in the double-quoted abyss within the terminal? For Mac Users, use control+C... for Windows users, Godspeed. 😊 (Actually I think Ctrl+C works for Windows too.)

Daily Nugget: Github Terminal Commands

Common commands to update and create your repo:  https://github.com/jsabor/desktop-tutorial In basic terms: Create a Branch from the Master Create a commit to your Branch Create a Pull Request (PR) Comment on your PR Merge your Branch in Master

SQL

  Quick Notes Two categories of SQL statement s: Data Definition Language (DDL) used to describe a database, to define its structure, to create its objects and to create the table's sub-objects. The following list provides some examples of types of DDL statements: Creating tables (CREATE command) Modifying the structure of a table (ALTER command) without deleting and re-creating it, such as adding columns, removing columns or changing column definitions (for example, length or default values) Removing objects (such as tables) from the database (DROP command) Partitioning tables (PARTITION command) Data Manipulation Language (DML) used to control the information contained within the database. The following lists provides some examples of types of DML statements: Adding records to a table (INSERT command) Modifying information in a table (UPDATE command) Removing records from a table (DELETE command)

Adobe Experience Manager

Image
  Quick Notes Java Content Repository (JCR) - base level of the AEM stack  AEM node structure (credit to Brightspot ): Links Metadata Metadata profiles Import/Export metadata Metadata schemas Creating and managing offers AEM 6.5 Documentation AEM Tutorials

BigQuery: Best Practices & Notes

Image
  GA4 Datasets Reminders when working with the GA4 datasets. Quick Notes Explorer Panel The numbers following a data table correspond with the GA Numbers following events correspond to the number of days of data event_intraday collect the streaming data Schema (Google Documentation):  https://support.google.com/analytics/answer/7029846?hl=en

Data Engineering

Quick Notes Organize Snowflake Warehouse 3 main components of data warehouse where you ingest raw data (RAW) where data transformations occur (BASE/STAGING - basic casting and field name changes) where you store reporting and experimentation Reverse ETL Census Hub and Spoke model SCD - Slowly Changing Dimensions Type 0   - The passive method Type 1   - Overwriting the old value Type 2   - Creating a new additional record Type 3   - Adding a new column Type 4   - Using historical table Type 6   - Combine approaches of types 1,2,3 (1+2+3=6) Data Modeling Techniques Entity Relationship Diagrams (ERD) Unified Modeling Language (UML) Class Diagrams Data Dictionary Links How to Collect Behavioral Data?  A Guide for Data Engineers and Analysts. CDI: Customer Data Infrastructure https://airbyte.com/blog/collect-behavioral-data-guide Modern Data Stack examples:  https://future.a16z.com/emerging-architectures-modern-data-infrastructure/

Status & Announcement Pages

  Links Campaign Manager 360 Announcements Adobe Google Issue Tracker My Bug:  https://issuetracker.google.com/issues/193187537#comment1 Google Ads Status General Down Detector Google Analytics Releases

Campaign Manager 360: Macros & Tracking

  Quick Notes My Drive notes are here Links Campaign Manager Macros:   https://support.google.com/campaignmanager/table/6096962?hl=en Landing page URL suffix:  https://support.google.com/campaignmanager/answer/3467782#zippy=%2Csteps

Salesforce: Trailhead and Various Articles

Image
  Links Trailhead login:   https://trailhead.salesforce.com/en Krux, DMP email pixels:  https://konsole.zendesk.com/hc/en-us/articles/115002476168-Email-Campaign-Implementation-Guide Parameter Manager:  https://help.salesforce.com/s/articleView?id=000353527&type=1 Quick Tips Connecting GA360 & SFMC  https://youtu.be/dMaKjsUbv1o Click Edit Settings on the far right to get to the next screen SFMC and Audience:  https://youtu.be/lDxW7PTBQoI

Privacy: Browser Cookies and Privacy Settings

 Privacy Resources Links Privacytests.org - Good chart cookiestatus.com - Charts and readout Cookie information for Google's ad products (safety.google)  - Google's cookies

Stuff I Want to Try

Links are from articles I want to try in my own setting.  Topic is the header, followed by findings from implementation. API Extracting Metadata from medium Daily Digest Newsletters via Gmail API Link:  Extracting Metadata from Medium Daily Digest Newsletters via Gmail API | by Sejal Dua | Aug, 2021 | Towards Data Science What did I learn: Google Cloud BigQuery & Cloud Functions: how to run your queries as soon as a new GA table is available Link:  BigQuery + Cloud Functions: how to run your queries as soon as a new Google Analytics table is available | by Marieke Pots | Towards Data Science What did I learn:

GTM: Best Practices

 Links: Best Practices for tags and tag managers - Optimize tags and tag managers for Core Web Vitals. Google Documentation Topics covered: Tag Types - cHTML, Custom Templates, Pixels Triggers Data Layer

Soft Skills: A Collection of Communication

 Interview Links: Best questions to ask:  https://review.firstround.com/40-favorite-interview-questions-from-some-of-the-sharpest-folks-we-know

Adobe Analytics: Classifications

  Classifications Quick Notes Make sure to check all Classification Rule Builder Rules too when implementing. SLA was 72 hours, Adobe wants to drop it to 24 hours If you have a value for "google" and send "Google", Adobe seems to not recognize case and will keep "google" s.campaign does not recognize two different types of casing as different code Best way to check current Classification status is to export report from Classification Importer If eVar0 has two values as output as in code1,code2  then the query had two parameters. Shopping extension in redirects can be culprit Links Adobe documentation:  https://experienceleague.adobe.com/docs/analytics/components/classifications/c-classifications.html?lang=en

SA360: Add Tracking Parameters to Landing Page URL (Final URL Suffix)

Image
  What parameter types to use to enable tracking on Search Ads Quick Notes Dynamic macros are called two different things depending on platform SA360 - custom parameters GAds - ValueTrack parameters custom parameters in Google Ads context are custom query parameters typically in {_name} format can be static or dynamic Google will always recognize Final URL Suffix (where you place your parameters) In SA360 you can find Final URL Suffix under Ad Builder Google with recognize the URL template for dartsearch under the URL template, this is only the redirect to get to the destination URL In Google Ads this is located when edit an ad Dynamic Search Ads Seem to setup in Google Ads Search Ads360 setup:  Dynamic search ads from Search Ads 360 default url is {unescapedurl} Instead of inheriting the engine account's URL template,  you can create a template at the  campaign or ad group  level. Or if you want to specify unique URL parameters for each  ad  or...

GTM: Persist Values

  Persisting Values or Cookies! Quick Notes ITP removes client-side cookies after 7 days Can use document.cookie, localStorage, Set-Cookie HTTP Header (the better option) Links The old way document.cookie:  https://www.simoahava.com/analytics/two-ways-to-persist-data-via-google-tag-manager/ The newer way localStorage:  https://www.simoahava.com/analytics/use-localstorage-client-id-persistence-google-analytics/ The better way Set-Cookie:  https://www.simoahava.com/analytics/use-localstorage-client-id-persistence-google-analytics/ Testing document.cookie is fairly simple, want to run Set-Cookie soon

Google Analytics: Filters

Filters Quick Notes Filters take precedence in processing.  Changes are permenant. Filters are account-level objects. Filters are applied after your data has been processed. Filters are not applied to product-scoped dimensions via data import. Links Limitations of filters  - Google Doc Testing Applied Advanced Filter on Campaign to Custom Dimension Regex for filter    ([a-zA-Z_0-9()].+) Filter overrides Data Import CD value in Filtered View, check Unfiltered for Data Import value and value populated.

Welcome to my Encyclopedia

If you made it here, you found my notes page.  I read a lot of information and then I test out that information so I can put it in my own words.  After trying browser bookmarks, trello boards, evernote, plain old notebook, I'm trying this option to reference all the great stuff I read. I am not taking credit for the great content out there, I only needed a spot where I can find it again and again.   Never stop learning!