Why are impressions a bad metric?
Impressions and average position look important in Search Console, but they hide more than they show. Here's why I stopped trusting them, and what to track instead.
A portfolio of thoughts - from web analytics and Flutter development to study reflections and life insights.
Impressions and average position look important in Search Console, but they hide more than they show. Here's why I stopped trusting them, and what to track instead.
AI detectors like ZeroGPT score text as human or machine using perplexity and burstiness. Here's why I ignore that score, and what to optimize for instead.
I was one click from cancelling my Claude subscription and switching to ChatGPT. T3 Code was the single feature that made me stay.
Why I switched from the official Microsoft Clarity GTM template to an unofficial one. Custom events, Consent Mode v2, sandboxing, and why error handling settles it.
GA4's reports quietly hide, sample and cap your data. Here's why an e-shop should export raw event data to BigQuery, what you actually gain, and how to start.
Bug: No "Create" button on Insights. Creating the insight through reports tab opens the dialog, but saving it throws an internal error. 😀 Happened to me on at least two different accounts and multiple properties - no role changes recently too. Trying to see if there's a pattern or new feature coming.
You don't build REST APIs as an analyst, but you call them all day. Here's the practical REST literacy that pays off in GA4, connectors and dashboards.
Skip ultracode, max, or xhigh and keep the reasoning (effort) level at "high" unless you really need it. This is just my own feel, not a hard rule. Push to xhigh on a task and Fable seems to start second-guessing itself, quality actually drops. More tokens, worse output.
Got a quick question in the middle of a long-running task and do not want to pollute the context or steer the model in the wrong way? Use /btw <question>. You get an answer right away, without starting a new conversation or adding to the one you are in. Your main task stays clean and on track.
As part of a university course, I'm researching how AI affects the perceived productivity of programmers' work. The survey is completely anonymous and takes under 5 minutes. Your input would help me a lot, and feel free to share it within your own developer circles. For those willing: https://lnkd.in/dDp-fgDE Thank you!
Only a few noticed something much more practical. Parallelism in Claude Code is basically free. And if you weren't using sub-agents yet, this is your sign. Wait, what even are sub-agents? And why should you care? Think of it like being a manager. You don't sit through every meeting your team has. You assign the work, each person runs with it, reports back. Sub-agents are the same. Each one gets a clean context, one focused task, and returns the result. You don't babysit. You just see what came back. That alone tends to produce better output than one long chat session that's been dragging for hours. No shared messy history. No drift. And the cost? When you tell Claude to "use sub-agents," they share (mostly) the same prompt cache. Compared to your regular sequential chat-to-chat, it's realistically 2-3x cheaper. Some people will even try to sell you the 5x number. Still kind of insane. If you've been hitting your Claude limits way sooner than you used to, this might save you. Genuinely. You just have to ask.
Probably how most of us start their prompt. Researchers at USC published something that should make everyone using it pause. Personas do two things. Not one. And they are opposite. They found that telling a model it is a math expert made it worse at math. Not slightly worse. It went from near-perfect to confidently wrong. Same question. Same model. Just a different system prompt. Here is why. Language models have two separate things going on: 1. Knowledge - facts stored during training 2. Behavior - tone, format, how to respond Personas only touch the second one. But they are so loud they drown out the first. The model stops retrieving facts. It starts performing the role. Now flip the task. Add a persona to a writing task? Better output. Add a safety persona? 17% more jailbreak attempts blocked. Because those tasks are about behavior, not facts. Personas do not make models smarter. They make them act differently. Sometimes that is exactly what you need. Sometimes it is the worst thing you can do. Before your next system prompt, ask yourself: Is this task about sounding right, or being right? #PromptEngineering #LLM #AIResearch #GenAI
KPIs for AI (Search) Optimization - How to Define Success? Last weekend, I presented my first ever MeasureCamp session in Milan. Here's everything I covered - from real AIO traffic data to …
Huge thank you to the organizers for putting together such an amazing event. I got to present my first ever #MeasureCamp session about KPIs for AI (Search) Optimization, which ended up sparking some really great conversations afterwards. The afterparty was just the cherry on top. 🍒 Coming back home inspired, grateful, and not only with a Lego and stickers. 🧱 In a few days I'll be sharing my full presentation and thoughts on bmateas.com. Stay tuned! Other sessions I really enjoyed included: - SPA tracking by my fellow friend of Jiří Dofek - Agent building for analytical problems by Alexandros Andre Chaaraoui - AI therapy reflection session with Marie Fenner - Kevin Swelsen presentation and discussion on whether we are witnessing the death of digital analytics Grazie Diego Usai, Alexander Kirtzel, Anisa Boumrifak, Davide Serafini, Luca-Dan Ciceu, Annalisa Larghi, Lorenzo Terrida, iubenda and others, whom I forgot to tag here or above! 😃
Topic: KPIs for AI (Search) Optimization - How to Define Success? AI Overviews are cutting organic CTR. LLMs are answering queries before users ever click. If you're optimizing for AI search - how do you actually define and measure success? That's what my session is about. KPIs, tracking, what works, what doesn't. See you in Milan.
Ale. Veľa šťastia s nahradením slovenskej byrokracie. 😃 Seriózne. UX podávania daní v ČR a na Slovensku je tak diametrálne odlišné, že je to snáď tá najlepšia ochrana proti nadvláde strojov.
Reflecting on my first two semesters and courses taken after moving from FI to KISK at Masaryk University.
The Gartner Hype Cycle describes how new technologies go through phases: from initial hype, through disillusionment, to eventual productivity. Remember when everyone was talking about replacing copywriters with AI and RAG systems? I even tried it myself at one point. Now I'm hearing something interesting from a few companies – including some bigger ones. They're doing the opposite. Banning or limiting AI for copywriting. Their reason? Apparently internal tests show that human-written landing pages and product copy convert better than AI-assisted content. Maybe it's Google Core Updates. Maybe we're hitting the "Trough of Disillusionment" phase. Maybe the reality is setting in. Users can tell the difference more properly now. Are you seeing this too? Or is it just noise?
Check your Settings -> Usage tab before Feb 16th. You can claim an extra-usage credit to play around with Claude Opus 4.6. Go grab it while it's there! #ClaudeAI #TechTips
Do you remember... Clawdbot? Oh wait... Moltbook? Oh wait... OpenClaw? Oh... me neither. Gotta love watching AI psychosis in action. https://lnkd.in/dFzbDwu8
Over a year ago, I shipped my first solo app on Google Play. It was called Tazavec. I managed to earn €0.20. Here's my reflection on that journey and lessons that I am taking away.
How did it turn out? Spoiler: I managed to earn €0.20 from it. 😃 Here's my reflection on that journey: https://lnkd.in/dirSyWpa
Spoiler: the UX is chef’s kiss, but there’s one deal-breaker. ✅ 10+ models in one tab ✅ Clean, Twitch-grade UX ✅ $8/mo, 1st month $1 So why would I not prolong my subscription? Full write-up here ➡️ https://lnkd.in/dckiXjX8
I recently tried T3 Chat by Theo from t3.gg. I have been a long-time fan of Theo’s content. As someone who enjoys working with AI, I consider him a great source of insight. His …
If you're into #MeasureCamp and obsessively organize your calendar like me, this might help. Auto-updating feed for your Google Calendar. Just import the URL. Dunno. Thought some calendar maniacs might appreciate it. Repository here: https://lnkd.in/dU2u2WAU
After two years at the FI MUNI, I walked away and started over at KISK. This is the story of discovering that sometimes the "wrong" path leads you exactly where you need to be.
No need for MCP anymore with chat-like interface, will definitely try.
New feature is slowly rolling out: "Manage Subscriptions." One dashboard. Every sender listed. One-click unsubscribe. No more tiny footer links. No more "takes 10 days to process." Your subscribers can now see exactly how many emails you've sent them. That number is visible. Right there. The lazy email strategies? Dead. Blasting daily without value? Goodbye. But marketers who actually deliver value will thrive. Less noise. More visibility for quality. Your emails need to earn their place now. Are you ready?
Tak jsem se rozhodl si to ověřit. Připravil jsem anonymní dotazník pro lidi, co s PPC agenturou spolupracovali. Zajímá mě vaše zkušenost. Jestli jste spokojení, co funguje a co ne. Zabere to 3 minuty a je to anonymní. Dík! 👉 https://lnkd.in/e-V5gm2u
I had over 70. My logic was simple: Close tab = lose information. Keep everything open = never search again. Makes sense, right? Until it did not. AI research proved me wrong. The numbers: - 23 minutes to fully refocus after switch - we switch between tasks every 3 minutes - 4 hours lost per work-week just by task switching Switching between contexts is expensive. Just like in programming. Keeping many tabs isn't productivity. It's psychology. The math is clear: Switching costs more than searching. Optimal tabs: 8-10. Mine: 70+. Use bookmarks. Use search. Trust it. Less tabs = less anxiety, more productivity. Smaller information overload. What tools do you use to manage this?
I recently found Artificial Analysis - an independent benchmarking company that provides objective comparisons of AI models. 📊 They get direct early access from AI companies themselves (except Anthropic apparently 😄), so when a new model launches, benchmarks are ready day one. 🚀 In a world where new AI models, updates, and services drop literally every week, having a single place with structured, objective data saves massive time. No more testing dozens of models yourself or waiting weeks for community benchmarks. You can pick the right technology for your specific use case based on real metrics, not marketing hype. ⏱️💡 🔗 https://lnkd.in/eM86hrE4
Tested it. It's... underwhelming. Or as Google says... experimental. 😅 The official version gives you basic account info. That's about it. This community version though? 🔥 https://lnkd.in/edgmXaia It actually lets you run queries, pull performance data, audit campaigns - the stuff you'd actually want to do. ✨ Google Ads audits that used to take hours? Done in minutes now (given you have your marketing strategy and knowledge based created) ⚡ Especially with multiple accounts + some solid prompts. The catch: ⚠️ 1. You need a developer token. Google makes you request it via form. Takes 1-3 business days. ⏳ (Like why, Google?) 2. Setup is honestly a pain - GCP project, tokens, connecting everything. Worse than GA4 MCP setup. 💀 But worth it? 100%. ✅ What has been your experience so far? Let me know!
Found this interesting project from Stape: https://lnkd.in/eKTaZ4hT It's actually a solid tool! But there are some practical considerations around GTM and MCP servers in general... If you're running custom measurement setups, this would need solid documentation and careful prompt engineering to give the AI the right context about your specific implementation. Also, can confirm from testing - GTM containers burn through tokens like crazy 🔥 But that's more of a general issue with .json being a wasteful format for LLMs rather than anything specific to this implementation. 😃 Where I think this could actually shine is in automated workflows. Maybe with some preprocessing scripts that parse the container format first, then feed clean data to the MCP rather than dumping everything at once. Interesting exploration from the Stape team either way. Always curious to see where measurement tech is heading. Anyone been experimenting with AI tools for tag management? #GTM #MarketingTech #AI #MCP
Google has an official Discord server for advertising and measurement, and I've been surprised by how few people in our community know about it. Sure, we all know about MeasureSlack. But Google is finally stepping up their own community engagement game specifically for us analysts. 🎯 Whether you have questions about GAds, GA4 - its updates or have questions or suggestions about their new MCP server - this Discord is where Google's team is actually engaging directly. 💬 It's called the Google Advertising and Measurement Community and you can join here: https://goo.gle/ga-discord #GoogleAnalytics #GA4 #GoogleAds #DigitalMarketing #Measurement #AnalyticsCommunity
Being (almost) on my home ground made this (un)conference even more special. Here's what I'm taking away: - 🔧 From session by Pavel Šabatka, that simple steps can prevent data inconsistencies and quality issues - as prevention is always better than fixing later - ☁️ From Dominik Jirotka, that GCP is much more than just BigQuery and Dataform - there's a whole ecosystem including Vertex AI, Pub/Sub and others - 🤖 Marek Lecian had a great pinpoint on specific tools and MCPs to build AI tools on - ⚡ From Marie (Mája) Remešová, I learned that cleaning GTM doesn't have to be as painful as manually searching for references - 📊 Vašek Jelen had great insights and concepts for analytics that can be implemented while still staying legal - 💎 And last but not least, Karolina Wrzask and her session about SQL prompts and explorations, and how they can (soon) be helped with AI and Gemini All in all, thanks to everyone who shared their experiences and insights with me. And lastly, thanks for the top-tier organization! #MeasureCamp #MeasureCampCZ #NaBrnoDobrý
As a digital analyst who was recently trying to migrate several projects, I can tell you - it's a nightmare when done the opposite way. Take GTM for example. Even after removing admin permissions, sometimes, users can still be set as organization admins in GTM. You end up dealing with Google Workspace admin settings and system policy modifications just to give the client 100% ownership of their data. This can take several hours. BigQuery is even worse. You can fix permissions, create a single-person organization, and STILL face missing Resource Manager permissions despite having full admin rights because of organization policies on the other side. 🤦♂️ Sure, you could use Data Transfer API to migrate, but do you really want to recreate all data streams, or build new GTM containers and ping developers (who are usually already at full-capacity) to update container ID? The solution is simple: Set up analytics infrastructure within the CLIENT'S organization from day one. Your client should own the BigQuery project, not you. Your future self will thank you. ✅ But Google should also really improve this system - it's unnecessarily complicated for something that should be straightforward. 🤷♂️
Recently, I've started diving into #RAG and vector databases, and sooner or later, you will come across the topic of embedding models. What if you want to embed a document other than English though? Now that's trickier. General benchmarks might not always fit the not-as-popular languages like Czech or Slovak for example. That's where I came across this (master)piece: https://lnkd.in/efkwje8B Only one month old with in-depth analysis of the most popular embedding models out there. And there have been surprises! Go and check it out.
As someone who came from development, I preferred custom solutions over built-in variables. Sometimes we don't want to take time and think - does this variable store only the event name or a whole object? So there I was, confidently writing custom #JavaScript to extract event names from dataLayer... 30 minutes later, I realize GTM already has {{Event}} built-in. 🤦♂️ That "oh no" moment when you discover you've been reinventing the wheel! Obviously, this approach is fine if you want to transform your event names or run tests, but if this is not the case, this is simply unnecessary. Same way in terms of readability (as you have to create a new variable or a template). Here's a quick overview of built-in variables that are turned on by default: - {{Event}} = Event name from dataLayer pushes (like 'purchase', 'signup') - {{Page Hostname}} = Just the domain (www.example.com) - {{Page Path}} = URL path after domain (/products/shoes) - {{Page URL}} = Complete current page URL - {{Referrer}} = Where the user came from (previous page) ... but there is more! GTM has total of 44 built-in variables that you can allow in 'Variables' section of your project! 📋 https://lnkd.in/eD8gjy4N
I remember ranting about Google's sandboxed JavaScript environment when writing SGTM templates - apart from other stuff, why they didn't include the Date package (or kept it severely limited respectively). "It's for security," Google said. How dangerous could dates be? Well, you can try for yourself! (Spoiler: a lot) https://jsdate.wtf #JavaScript #WebDevelopment #GTM
I'm doing bit of a research. I'm curious about what "keeps you up at night" when working with Google Tag Manager and Google Analytics. What's the one thing that frustrates you most lately? Is it DL inconsistency and overall data quality? Debugging why events suddenly stopped firing? Lack of type safety causing silent failures? Something else entirely? Drop your biggest pain point in the comments 👇 #GoogleAnalytics #GTM #DigitalAnalytics #WebAnalytics #DataTracking
Removing the marketing buzzwords, it simply helps AI assistants query your website through natural language. It's pretty easy to setup. 10-15 minutes. 🤖 It's a step in a good direction. But it will take some time to be widely adopted. I love the fact that it's open source. But after trying it for a bit, it's more of a glorified AI search engine for websites than a chatbot replacement as of this moment. All and all, a bit underwhelming. It serves as a good reminder though, to have schema.org set up on your web properly. It's also nice to see RSS reviving a bit with LLMs. 🔄 https://lnkd.in/ee3fqRBV #AI #WebDevelopment #RSS #OpenSource
Over the past few days, we noticed an issue with our Google Ads GTM tags across multiple projects, which were showing a "failed" status despite returning code 200 response codes in the network tab. No further info about the error either. There was speculation that the error was due to a missing gtag, but everything on our end was properly configured. We even tried applying a fix by changing the cookie prefix that Google Ads uses, but that didn't help either. 💡 As of this morning, May 9th, everything seems to be working again, without any changes on our side. It appears it may have been a temporary issue on Google's end. #GoogleAds #GTM #TechnicalIssue #BugReport #WebAnalytics #GoogleTagManager
Today, I stumbled upon a curious Looker Studio quirk that might save you from a potential reporting headache. While working on a Sankey chart with two dimensions, I encountered a frustrating system error when trying to share my report. Everything worked fine in the editor, but when trying to open the shared export, the error appeared. After experimenting with virtually every slider and metric, I finally discovered the culprit: the coloring setting. 🚨 What caused the bug: After investigating, I discovered that using the "Single color" option for my Sankey chart was breaking the report when shared, triggering the dreaded "System Error: Looker Studio has encountered a system error. Cannot render data" message. 💡 The solution: Switching to "Dimension values" coloring fixed the issue. Interestingly, the "Node order" coloring option also triggers the same error - this definitely seems like a Looker Studio bug that others should be aware of. You can then customize specific colors with the "Manage dimension value colours" option and manually add the same color for every value. Luckily I had only a few items to configure! While it's not a perfect solution, it gets the job done. Hopefully this quick troubleshooting tip saves someone else a few hours of frustration! #DataVisualization #LookerStudio #DataAnalytics #TroubleshootingTips
Flutter & Smart Rubik’s Cubes: All you need to know Hey, I’m Branislav! A Flutter developer with over 2 years of experience in the field. Last year, for my final year school project, I decided to …
Last year, I finished my final project, Cubio, which involved creating a Flutter app that works with smart Rubik's cubes. After updating the project recently, I've documented the process in a new Medium article, and I'm excited to share it with you! In the article, you'll learn: - How do smart Rubik's cubes communicate - How to create a virtual model of a such cube - How to connect this model to your Flutter app and interact with it This article is perfect for developers interested in exploring the intersection of hardware and software, so be sure to check it out! 👉 Check out the full article here: https://lnkd.in/dzdRjTnK #flutter #rubikscube #appdevelopment #mobiledevelopment #iot #tech #coding #developers #learntocode #unity