Share
Transcript
65 slides
-
This is BigQuery for SEOs Sam Torres Chief Digital Officer,
Gray Dot Co This is BigQuery for SEOs October 17 - 18 2024 CAM Raleigh 409 W. Martin Street Raleigh, NC 27603 -
This is BigQuery for SEOs This is BigQuery for SEOs
I’m Sam Torres. Aloha! Official role Chief Digital Officer at Gray Dot Co Unofficial (but important) roles Women in Tech SEO member SEO mermaid™ Day-to-day focus Creating solutions where search, data, and development intersect. -
This is BigQuery for SEOs Join Women in Tech SEO
Subscribe to the WTS Newsletter -
This is BigQuery for SEOs GA4’s 14-month data window? Painfully
slow loading Looker Studio Reports? GSC’s 16-month data window? -
This is BigQuery for SEOs Part 01 - Is BigQuery
worth it? Part 02 - How BigQuery Pricing Works We’ll cover… 01 02 03 04 How BigQuery can solve many of the internal data pain points we’ve all experienced. Part 03 - Getting Started Part 04 - Navigating BigQuery This is BigQuery for SEOs 05 Part 05 - Creating Aggregate Tables -
This is BigQuery for SEOs Part 01 Is BigQuery worth
it? This is BigQuery for SEOs -
This is BigQuery for SEOs First things first, what is
it? This is BigQuery for SEOs “BigQuery is a fully managed enterprise data warehouse that helps you manage and analyze your data with built-in features like machine learning, geospatial analysis, and business intelligence. BigQuery’s serverless architecture lets you use SQL queries to answer your organization’s biggest questions with zero infrastructure management. BigQuery’s scalable, distributed analysis engine lets you query terabytes in seconds and petabytes in minutes.” -
This is BigQuery for SEOs Just kidding, I fixed it…
This is BigQuery for SEOs “BigQuery is a fully managed enterprise data warehouse that helps you manage and analyze your data with built-in features like machine learning, geospatial analysis, and business intelligence. BigQuery’s serverless architecture lets you use SQL queries to answer your organization’s biggest questions with zero infrastructure management. BigQuery’s scalable, distributed analysis engine lets you query terabytes in seconds and petabytes in minutes.” -
This is BigQuery for SEOs With BQ 🤩 Unsampled data
🤩 Data scales as you do 🤩 1 warehouse for many sources 🤩 Lower costs & budget alerts 🤩 Big requests in seconds 🤩 Access data back to day 1 Before BQ 😭 Platforms report sampled data 😭 Data setup isn’t scalable 😭 Data is in many places 😭 High data-storage costs 😭 Big requests break or are slow 😭 Historical data is limited Benefits of Using BigQuery This is BigQuery for SEOs -
This is BigQuery for SEOs Why doesn’t everyone use it?
This is BigQuery for SEOs -
This is BigQuery for SEOs Part 02 How BigQuery Pricing
Works This is BigQuery for SEOs -
This is BigQuery for SEOs Computation 💸 How much handling
of that data is BQ doing 💸 Free tier gets you 1Tb of computation or processing Storage 💸 How much data contained within BQ 💸 Free tier gets you 10 GB of data storage BigQuery Pricing Structure This is BigQuery for SEOs -
This is BigQuery for SEOs Sneaky build of compute costs
This is BigQuery for SEOs This single branded impression chart is filtering for specific words across queries, grouping according to month and summing impressions. -
This is BigQuery for SEOs 1. Create a budget This
is BigQuery for SEOs Creating Budget Alerts It can be for one or more projects, or the whole cloud account (which is the default). -
This is BigQuery for SEOs 2. Specify a budget This
is BigQuery for SEOs Creating Budget Alerts Note that you can set this for specific organization, projects or even services (BigQuery is a service). -
This is BigQuery for SEOs 3. Create alert thresholds This
is BigQuery for SEOs Creating Budget Alerts Need to send alerts to different emails than the project owner? You can do that here. -
This is BigQuery for SEOs Sample Budget Ideas This is
BigQuery for SEOs Set cost thresholds: • Last month’s spend • ANY spending (my personal favorite!) Limit to specific services: • BigQuery Storage • BigQuery Data Transfer Service: Responsible for the scheduled queries -
This is BigQuery for SEOs Part 03 Getting Started (&
Connecting to GA4 & GSC) This is BigQuery for SEOs -
This is BigQuery for SEOs Create a billing account in
Google Cloud This is BigQuery for SEOs Go to console.cloud.google.com and select Billing -
This is BigQuery for SEOs 1. Create a project This
is BigQuery for SEOs Connecting to GSC -
This is BigQuery for SEOs 2. Enable the BigQuery API
This is BigQuery for SEOs Connecting to GSC Can’t find this page? Go to > APIs & Services and search for “BigQuery” -
This is BigQuery for SEOs 3. Set Up Permissions This
is BigQuery for SEOs Connecting to GSC -
This is BigQuery for SEOs 3. Set Up Permissions This
is BigQuery for SEOs Connecting to GSC -
This is BigQuery for SEOs 3. Set Up Permissions This
is BigQuery for SEOs Connecting to GSC -
This is BigQuery for SEOs 4. GSC Bulk Export This
is BigQuery for SEOs Connecting to GSC -
This is BigQuery for SEOs 5. Add your project ID
This is BigQuery for SEOs Connecting to GSC Find your ID in the Project Overview page: > Cloud Overview -
This is BigQuery for SEOs 6. Set the name &
location This is BigQuery for SEOs Connecting to GSC Useful if you’re connecting multiple properties into a single project Set the country that your data governance is based in -
This is BigQuery for SEOs 7. Wait for it… This
is BigQuery for SEOs Connecting to GSC 24-48 hours -
This is BigQuery for SEOs 8. Ta da! This is
BigQuery for SEOs Connecting to GSC -
This is BigQuery for SEOs 1. Create a project This
is BigQuery for SEOs Connecting to GA4 Or you can use the same project. Consider data storage size and separate budget alerts/ ceiling needs. -
This is BigQuery for SEOs 2. Link GA4 Property This
is BigQuery for SEOs Connecting to GA4 -
This is BigQuery for SEOs 3. Choose location This is
BigQuery for SEOs Connecting to GA4 Selecting the right location is extremely important! -
This is BigQuery for SEOs 4. Configure streams & events
This is BigQuery for SEOs Connecting to GA4 Limit is 1M events per day. Take what you need. -
This is BigQuery for SEOs 4. Configure streams & events
This is BigQuery for SEOs Connecting to GA4 -
This is BigQuery for SEOs 5. Wait for it… This
is BigQuery for SEOs Connecting to GA4 24-48 hours -
This is BigQuery for SEOs 6. Ta da! This is
BigQuery for SEOs Connecting to GA4 -
This is BigQuery for SEOs So I’m ready for Looker
Studio reporting and all the fun, right?! This is BigQuery for SEOs -
This is BigQuery for SEOs Part 04 Navigating BigQuery This
is BigQuery for SEOs -
This is BigQuery for SEOs Individual URL Data Includes page-level
performance Where SERP Feature data lives Site Data Best for seeing total site performance Ideal for testing GSC data includes… This is BigQuery for SEOs -
This is BigQuery for SEOs In BigQuery, that looks like…
This is BigQuery for SEOs -
This is BigQuery for SEOs GA4 data includes… This is
BigQuery for SEOs Table PER day Nested columns (the details that apply to specific types of data) -
This is BigQuery for SEOs In BigQuery, that looks like…
This is BigQuery for SEOs -
This is BigQuery for SEOs Power of Table Schema This
is BigQuery for SEOs -
This is BigQuery for SEOs Ok but now I’m swimming
in tables. This is BigQuery for SEOs -
This is BigQuery for SEOs Use SQL queries to get
your data and do things with it This is BigQuery for SEOs -
This is BigQuery for SEOs Basics of Query Structure This
is BigQuery for SEOs SELECT <field>,<field> FROM <database table> WHERE <field>=’Value’ ORDER BY <field> Retrieve data from tables or expressions. Which table(s) should the data be retrieved from? Which rows should be retrieved? Which columns should dictate sorting, in which direction? -
This is BigQuery for SEOs Queries can be…simple This is
BigQuery for SEOs SELECT * FROM `table.searchconsole.searchdata_ site_impression` WHERE data_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 3 DAY) AND DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY) AND country = 'usa' AND query IS NOT NULL -
This is BigQuery for SEOs Queries can be…complex This is
BigQuery for SEOs SELECT CASE WHEN session_source IS NULL THEN 'Direct' WHEN REGEXP_CONTAINS(session_campaign_name, 'cross-network') THEN 'Cross-network' WHEN ( REGEXP_CONTAINS( session_source, 'alibaba|amazon|google shopping|shopify|etsy|ebay|stripe|walmart' ) OR REGEXP_CONTAINS( session_campaign_name, '^(.*(([^a-df-z]|^)shop|shopping).*)$' ) ) AND REGEXP_CONTAINS(session_medium, '^(.*cp.*|ppc|paid.*)$') THEN 'Paid Shopping' WHEN REGEXP_CONTAINS( session_source, 'baidu|bing|duckduckgo|ecosia|google|yahoo|yandex' ) AND REGEXP_CONTAINS(session_medium, '^(.*cp.*|ppc|paid.*)$') THEN 'Paid Search' WHEN REGEXP_CONTAINS( session_source, 'badoo|facebook|fb|instagram|linkedin|pinterest|tiktok|twitter|whatsapp' ) AND REGEXP_CONTAINS(session_medium, '^(.*cp.*|ppc|paid.*)$') THEN 'Paid Social' WHEN REGEXP_CONTAINS( session_source, 'dailymotion|disneyplus|netflix|youtube|vimeo|twitch|vimeo|youtube' ) AND REGEXP_CONTAINS(session_medium, '^(.*cp.*|ppc|paid.*)$') THEN 'Paid Video' WHEN session_medium IN ( 'display', 'banner', 'expandable', 'interstitial', 'cpm' ) THEN 'Display' WHEN REGEXP_CONTAINS( session_source, 'alibaba|amazon|google shopping|shopify|etsy|ebay|stripe|walmart' ) OR REGEXP_CONTAINS( session_campaign_name, '^(.*(([^a-df-z]|^)shop|shopping).*)$' ) THEN 'Organic Shopping' WHEN REGEXP_CONTAINS( session_source, 'badoo|facebook|fb|instagram|linkedin|pinterest|tiktok|twitter|whatsapp' ) OR session_medium IN ( 'social', 'social-network', 'social-media', 'sm', 'social network', 'social media' ) THEN 'Organic Social' WHEN REGEXP_CONTAINS( session_source, 'dailymotion|disneyplus|netflix|youtube|vimeo|twitch|vimeo|youtube' ) OR REGEXP_CONTAINS(session_medium, '^(.*video.*)$') THEN 'Organic Video' WHEN REGEXP_CONTAINS( session_source, 'baidu|bing|duckduckgo|ecosia|google|yahoo|yandex' ) OR session_medium = 'organic' THEN 'Organic Search' WHEN REGEXP_CONTAINS(session_source, 'email|e-mail|e_mail|e mail') OR REGEXP_CONTAINS(session_medium, 'email|e-mail|e_mail|e mail') THEN 'Email' WHEN session_medium = 'affiliate' THEN 'Affiliates' WHEN session_medium = 'referral' THEN 'Referral' WHEN session_medium = 'audio' THEN 'Audio' WHEN session_medium = 'sms' THEN 'SMS' WHEN session_medium LIKE '%push' OR REGEXP_CONTAINS(session_medium, 'mobile|notification') THEN 'Mobile Push Notifications' ELSE 'Unassigned' END AS session_channel, DATE, device_category, COUNT(DISTINCT session_id) AS sessions, COUNT(DISTINCT new_users) AS new_users, COUNT(DISTINCT user_pseudo_id) AS total_users, SUM(purchases) AS purchases, SUM(revenue) AS revenue, COUNT( DISTINCT CASE WHEN new_users IS NOT NULL AND total_purchasers IS NOT NULL THEN user_pseudo_id ELSE NULL END ) AS first_time_purchasers, COUNT(DISTINCT total_purchasers) AS total_purchasers -
This is BigQuery for SEOs So make a tool do
it for you This is BigQuery for SEOs I generally use GA4SQL but that’s just one example. -
This is BigQuery for SEOs And you get… This is
BigQuery for SEOs -
This is BigQuery for SEOs Part 05 Aggregated Tables This
is BigQuery for SEOs -
This is BigQuery for SEOs The Process Create tables and
a job to update daily Use your measurement plan Connect these new tables to Looker Studio This is BigQuery for SEOs -
This is BigQuery for SEOs 1. Decide what data you
want This is BigQuery for SEOs Creating Aggregate Tables GSC - Queries & metrics aggregated by: • Page • Device Type • Country GA4 - Event data aggregated by: • Entry page • Page path • Channel grouping Start with only a few. You can always add more later - and the query will go through your entire set of data (meaning you can aggregate retroactively!) -
This is BigQuery for SEOs 2. Run the SQL Query
in Explorer This is BigQuery for SEOs Creating Aggregate Tables Here, you can see the compute cost. If you’re testing, try adding a limit to your query until you’re happy with the data you’re getting. Then, open the query (and number of results). LIMIT 1000 -
This is BigQuery for SEOs 2. Run the SQL Query
in Explorer This is BigQuery for SEOs Creating Aggregate Tables -
This is BigQuery for SEOs 2. Save the results to
a new table This is BigQuery for SEOs Creating Aggregate Tables -
This is BigQuery for SEOs 3. Save the results to
a new table This is BigQuery for SEOs Creating Aggregate Tables -
This is BigQuery for SEOs 4. Duplicate your query and
adjust to yesterday This is BigQuery for SEOs Creating Aggregate Tables -
This is BigQuery for SEOs 5. Schedule this new query
This is BigQuery for SEOs Creating Aggregate Tables -
This is BigQuery for SEOs 5. Schedule this new query
This is BigQuery for SEOs Creating Aggregate Tables -
This is BigQuery for SEOs 6. Use your new tables
for Looker Studio This is BigQuery for SEOs Creating Aggregate Tables • Don’t forget that you can blend tables in Looker Studio too! • Why does this save on processing & time? ◦ Calculations happen in BQ ◦ Larger grouping calculations only happen once a day -
This is BigQuery for SEOs Thank you! Have more questions?
/in/samantha-torres-seo @SamTorresATL