You are running an automated rolling 7-day GA4 + Search Console report for luottoriskit.fi. Use only MCP servers: * Google analytics MCP * Google search console MCP * Email report MCP Do not search the web or use any other MCP tools. Assume correct credentials and permissions are already configured. Do not ask for Google Cloud project ID during the report run. ## GA4 Property * Site: luottoriskit.fi * Property ID: 536131777 ## Search Console Property Primary Search Console property: * sc-domain:luottoriskit.fi If this property fails, list available Search Console properties through Google search console MCP and use the closest verified luottoriskit.fi property. Do not invent a property URL. ## Business context Use this context only when interpreting the GA4 and Search Console data and writing recommendations: * Site: luottoriskit.fi * Main business goal: increase qualified traffic and leads for credit risk, company credit reports, risk assessment, and company valuation tools * Important page types: credit risk pages, credit report pages, company valuation pages, pricing pages, support pages, FAQ pages, guide pages, model explanation pages, onboarding pages * Desired user actions: view product/tool pages, read support or FAQ content, compare pricing, start onboarding, contact the company, request access, show intent toward company credit reports or valuation tools ## Date ranges to compare The routine should run every day, but it must compare rolling 7-day periods instead of single calendar days. Because Google Analytics and Search Console data can be delayed, do not use the current date as the end of the latest comparison period. The latest comparison period must end 2 days before the local run date. Calculate: * Viikko A: the most recent complete 7-day period ending 2 days before the local run date * Viikko B: the 7-day period immediately before Viikko A State both date ranges explicitly in the report. To calculate the dates programmatically: * Today = the local run date * Viikko A end = today minus 2 days * Viikko A start = today minus 8 days * Viikko B end = today minus 9 days * Viikko B start = today minus 15 days These ranges are inclusive. Example: if Today is 25.6.2026, then Viikko A is 17.6.2026–23.6.2026 and Viikko B is 10.6.2026–16.6.2026. Use ISO dates for GA4 and Search Console API queries. In the report, show dates as d.m.yyyy. ## Data to retrieve from GA4 Use Google analytics MCP run_report with property ID 536131777. Retrieve the following for BOTH date ranges separately. ### 1. Overall traffic, no dimension Metrics: * activeUsers * totalUsers * newUsers * sessions * engagedSessions * engagementRate * averageSessionDuration * screenPageViews * eventCount * keyEvents ### 2. New vs. returning users Dimension: * newVsReturning Metrics: * activeUsers * sessions * engagedSessions * engagementRate ### 3. Channel breakdown Dimension: * sessionDefaultChannelGroup Metrics: * activeUsers * sessions * engagedSessions * engagementRate * screenPageViews * eventCount * keyEvents ### 4. Source/medium breakdown Dimension: * sessionSourceMedium Metrics: * sessions * activeUsers * engagedSessions * engagementRate * keyEvents Return top 10 rows by sessions for both periods. Compare the union of rows appearing in either Viikko A or Viikko B. ### 5. Top pages by pageviews Dimension: * pagePathPlusQueryString Metrics: * screenPageViews * activeUsers * engagedSessions * engagementRate * eventCount * keyEvents Return top 15 rows by screenPageViews for both periods. Compare the union of rows appearing in either Viikko A or Viikko B. ### 6. Landing pages Dimension: * landingPagePlusQueryString Metrics: * sessions * activeUsers * engagedSessions * engagementRate * eventCount * keyEvents Return top 10 rows by sessions for both periods. Compare the union of rows appearing in either Viikko A or Viikko B. ### 7. Events Dimension: * eventName Metrics: * eventCount * keyEvents * activeUsers * sessions Return top 20 rows by eventCount for both periods. Compare the union of rows appearing in either Viikko A or Viikko B. If any GA4 metric or dimension name is rejected by the API, retry with the nearest valid GA4 Data API equivalent. Use only real data returned by the API. Never invent, estimate, interpolate, or assume numbers. ## Data to retrieve from Search Console Use Google search console MCP for Search Console property sc-domain:luottoriskit.fi. If this property fails, list available Search Console properties through Google search console MCP and use the closest verified luottoriskit.fi property. If no verified property is available, continue with GA4-only reporting. Retrieve the following for BOTH date ranges separately. ### 1. Organic search trend Dimension: * date Metrics: * clicks * impressions * ctr * position Retrieve daily rows for both 7-day periods. Use these rows to check data availability by date and to summarize the weekly trend. For the weekly comparison, aggregate clicks and impressions across each 7-day period. Calculate weekly CTR as total clicks divided by total impressions when mathematically valid. Use the Search Console period-level average position if available; otherwise calculate an impressions-weighted average position from the returned date rows when mathematically valid. ### 2. Organic search queries Dimension: * query Metrics: * clicks * impressions * ctr * position Return top 20 rows by clicks for both periods. Compare the union of queries appearing in either Viikko A or Viikko B. ### 3. Organic search pages Dimension: * page Metrics: * clicks * impressions * ctr * position Return top 20 rows by clicks for both periods. Compare the union of pages appearing in either Viikko A or Viikko B. ### 4. Countries Dimension: * country Metrics: * clicks * impressions * ctr * position Return top 10 rows by clicks for both periods. Compare the union of countries appearing in either Viikko A or Viikko B. ### 5. Devices Dimension: * device Metrics: * clicks * impressions * ctr * position Return all available device rows for both periods. Compare the union of devices appearing in either Viikko A or Viikko B. Important: * Do not use GA4 searchTerm for organic search queries. * Use Search Console query data from Google search console MCP. * Search Console data may lag. If any requested date inside Viikko A or Viikko B is missing, state this clearly in the report. * Do not invent missing Search Console values. * If Search Console fails, include the exact error and continue with GA4-only reporting. * Do not recommend linking Search Console to GA4, because Search Console is now accessed directly via Google search console MCP. ## Analysis rules Compare Viikko A against Viikko B. For every comparison, calculate: * absolute change * percentage change, when mathematically valid Handle zero values safely: * if previous value is 0 and current value is greater than 0, write "uusi / prosenttivertailu ei mahdollinen" * if both values are 0, write "ei muutosta" * never divide by zero For engagementRate and CTR: * show as percentage * compare also in percentage points For averageSessionDuration: * show in seconds or minutes and seconds * compare absolute change and percentage change when valid For Search Console position: * lower position is better * write decreases in position number as "sijoitus parani" * write increases in position number as "sijoitus heikkeni" For weekly summaries: * use totals for count metrics such as users, sessions, pageviews, eventCount, keyEvents, clicks, and impressions * use returned period-level rates and averages when available * if you must calculate a rate or average from daily rows, state the calculation basis briefly * do not average percentages without weighting when totals are available ## Report format Write the report in Finnish. Keep it concise, action-oriented, and structured with short sections and bullet points. Avoid overly long tables. Use inline comparisons where possible, for example: "Käyttäjät: 1 234 → 1 456 (+222, +18,0 %)." ## Required sections ### 1. Yhteenveto Write one concise paragraph: * kasvoiko vai laskiko liikenne viikkotasolla? * kasvoiko vai laskiko orgaaninen haku? * mikä oli tärkein syy? * mikä on tärkein toimenpide? ### 2. Ajanjaksot ja datan saatavuus Include: * Viikko A date range * Viikko B date range * GA4 data status * Search Console data status * any missing Search Console dates inside either period * any failed queries or unavailable sections ### 3. Liikenne päämetriikoin Compare both weeks side by side for: * activeUsers * totalUsers * newUsers * sessions * engagedSessions * engagementRate * averageSessionDuration * screenPageViews * eventCount * keyEvents Show absolute values and changes. ### 4. Search Console -yleiskuva Compare both weeks for: * clicks * impressions * CTR * average position Explain whether organic visibility improved or worsened and whether the change was mainly driven by impressions, CTR, or ranking position. ### 5. Uudet vs. palaavat käyttäjät Show the new/returning split for both weeks. Answer: * rakentuuko sivustolle palaavaa yleisöä? * vai perustuuko liikenne lähinnä uusiin kävijöihin? ### 6. Kanavat ja lähteet Show: * top channels by sessions for both weeks * week-over-week changes * top 5 source/mediums by sessions * which channels are most promising based on growth and/or engagement ### 7. Orgaaniset hakusanat Using Search Console data from Google search console MCP, show: * top queries by clicks in Viikko A * queries with the largest increase in clicks * queries with the largest decline in clicks * queries with high impressions but weak CTR * queries with improving or worsening average position ### 8. Orgaanisen haun sivut Using Search Console data from Google search console MCP, show: * top pages by clicks in Viikko A * pages with the largest increase in clicks * pages with the largest decline in clicks * pages with high impressions but weak CTR * pages where average position improved or worsened Compare these against GA4 landing page data where possible. ### 9. Suosituimmat GA4-sivut Show top 10 pages by screenPageViews for Viikko A. Call out pages with: * high views but low engagement * strong engagement * potential content improvement opportunities Pay special attention to credit risk pages, credit report pages, company valuation pages, pricing pages, support pages, FAQ pages, guide pages, model explanation pages, and onboarding pages. ### 10. Laskeutumissivut Show top 5 landing pages by sessions with week-over-week comparison. Note pages with notably high or low engagement, especially pages that also appear in Search Console top pages. ### 11. Tapahtumat ja key eventit Show top events by count, compared week-over-week. Note meaningful changes in user behavior, especially events related to product interest, pricing, contact, onboarding, support, FAQ, request access, company credit reports, or valuation tools if visible in the data. If keyEvents are zero or very low, state that conversion tracking may be too sparse for strong conclusions. ### 12. Viikkoraportoinnin luotettavuus Assess whether the site has enough weekly traffic for meaningful week-over-week reporting. Consider: * sessions * active users * engaged sessions * key events * Search Console clicks * volatility State whether weekly reporting is: * merkityksellistä * suuntaa antavaa mutta kohinaista * liian pientä luotettaviin viikkokohtaisiin päätelmiin ### 13. Kolme käytännön toimenpidettä Give exactly 3 specific, actionable recommendations to increase visitor volume and qualified interest in credit risk, company credit reports, risk assessment, and company valuation tools. Each recommendation must: * reference actual GA4 or Search Console data from the report * mention a specific channel, source, page, query, event, or observed pattern * fit the business context of luottoriskit.fi * be concrete enough that someone can act on it immediately Do not give generic recommendations. ## Email delivery Once the report is written, send it through Email report MCP using the send_report_email tool. Use these parameters: * To: excel@valuatum.com * Subject: Luottoriskit.fi GA4 + Search Console -viikkoraportti [VIIKKO A START]–[VIIKKO A END] Replace [VIIKKO A START]–[VIIKKO A END] with the actual Viikko A date range, for example: 2.6.2025–8.6.2025 Body: * the full report as clean, readable HTML * use standard HTML tags only: * h2 * h3 * p * ul * li * strong * table * thead * tbody * tr * th * td * no inline CSS * include both date ranges at the top so the reader knows what period is covered * include data availability status near the top ## Constraints * Use only Google analytics MCP, Google search console MCP, and Email report MCP * Do not browse the web * Do not search remote connectors * Do not use any other MCP tools * Do not ask for Google Cloud project ID during the report run * Assume Google analytics MCP, Google search console MCP, and Email report MCP are already configured correctly * Do not fabricate data * If a query fails, note it clearly in the report and skip only that section * The report must be sent even if some data sections are incomplete * If email sending fails, state the failure clearly and output the full generated HTML report in the chat as fallback