Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sam Torres - BigQuery for SEOs

Sam Torres - BigQuery for SEOs

Tech SEO Connect

October 23, 2024
Tweet

More Decks by Tech SEO Connect

Other Decks in Marketing & SEO

Transcript

  1. 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
  2. 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.
  3. This is BigQuery for SEOs Join Women in Tech SEO

    Subscribe to the WTS Newsletter
  4. This is BigQuery for SEOs GA4’s 14-month data window? Painfully

    slow loading Looker Studio Reports? GSC’s 16-month data window?
  5. 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
  6. 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.”
  7. 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.”
  8. 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
  9. 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
  10. 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.
  11. 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).
  12. 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).
  13. 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.
  14. 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
  15. This is BigQuery for SEOs Part 03 Getting Started (&

    Connecting to GA4 & GSC) This is BigQuery for SEOs
  16. 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
  17. This is BigQuery for SEOs 1. Create a project This

    is BigQuery for SEOs Connecting to GSC
  18. 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”
  19. This is BigQuery for SEOs 3. Set Up Permissions This

    is BigQuery for SEOs Connecting to GSC
  20. This is BigQuery for SEOs 3. Set Up Permissions This

    is BigQuery for SEOs Connecting to GSC
  21. This is BigQuery for SEOs 3. Set Up Permissions This

    is BigQuery for SEOs Connecting to GSC
  22. This is BigQuery for SEOs 4. GSC Bulk Export This

    is BigQuery for SEOs Connecting to GSC
  23. 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
  24. 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
  25. This is BigQuery for SEOs 7. Wait for it… This

    is BigQuery for SEOs Connecting to GSC 24-48 hours
  26. This is BigQuery for SEOs 8. Ta da! This is

    BigQuery for SEOs Connecting to GSC
  27. 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.
  28. This is BigQuery for SEOs 2. Link GA4 Property This

    is BigQuery for SEOs Connecting to GA4
  29. This is BigQuery for SEOs 3. Choose location This is

    BigQuery for SEOs Connecting to GA4 Selecting the right location is extremely important!
  30. 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.
  31. This is BigQuery for SEOs 4. Configure streams & events

    This is BigQuery for SEOs Connecting to GA4
  32. This is BigQuery for SEOs 5. Wait for it… This

    is BigQuery for SEOs Connecting to GA4 24-48 hours
  33. This is BigQuery for SEOs 6. Ta da! This is

    BigQuery for SEOs Connecting to GA4
  34. This is BigQuery for SEOs So I’m ready for Looker

    Studio reporting and all the fun, right?! This is BigQuery for SEOs
  35. 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
  36. 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)
  37. This is BigQuery for SEOs Ok but now I’m swimming

    in tables. This is BigQuery for SEOs
  38. This is BigQuery for SEOs Use SQL queries to get

    your data and do things with it This is BigQuery for SEOs
  39. 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?
  40. 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
  41. 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
  42. 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.
  43. 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
  44. 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!)
  45. 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
  46. This is BigQuery for SEOs 2. Run the SQL Query

    in Explorer This is BigQuery for SEOs Creating Aggregate Tables
  47. This is BigQuery for SEOs 2. Save the results to

    a new table This is BigQuery for SEOs Creating Aggregate Tables
  48. This is BigQuery for SEOs 3. Save the results to

    a new table This is BigQuery for SEOs Creating Aggregate Tables
  49. This is BigQuery for SEOs 4. Duplicate your query and

    adjust to yesterday This is BigQuery for SEOs Creating Aggregate Tables
  50. This is BigQuery for SEOs 5. Schedule this new query

    This is BigQuery for SEOs Creating Aggregate Tables
  51. This is BigQuery for SEOs 5. Schedule this new query

    This is BigQuery for SEOs Creating Aggregate Tables
  52. 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
  53. This is BigQuery for SEOs Thank you! Have more questions?

    /in/samantha-torres-seo @SamTorresATL