Insights, page 2 of 3

Written answers to the questions buyers actually type. Each one opens with a summary that stands on its own, and is dated so you know how current it is.

Page 2 of 3. Articles 25 to 48 of 51.

Published

A change advisory board when there are three of you

The board is a decision rule with names attached. The meeting is optional and usually wrong.

A change advisory board reviews and approves higher-risk changes. At enterprise scale that means a standing weekly meeting with a dozen attendees. At three people it should mean a written routing rule, a named approver per change class, and a review that happens asynchronously against a deadline. The control that matters is a second pair of eyes with the authority to say no, and that does not require a calendar invite.

Read the article: A change advisory board when there are three of you
Published

Acceptance criteria for an analytics deliverable

Nobody can look at a dataset and tell you it is right. That is the whole problem, and it is solvable with numbers.

Analytics deliverables have no visible surface to approve, so acceptance defaults to a client glancing at a dashboard and saying it looks fine. That is not acceptance and it will not survive a disputed invoice. Every analytics deliverable can be made testable with three ingredients: a named comparison source, a stated numeric tolerance, and a stated window.

Read the article: Acceptance criteria for an analytics deliverable
Published

Which ceremonies a client should be in

A retrospective with the client in the room is not a retrospective. It is a meeting where nobody says the true thing.

Scrum's four ceremonies differ in whether an outsider changes what gets said. The sprint review is designed for stakeholders and should have the client in it. The retrospective is designed for candour and does not survive an audience. The standup is a working meeting that clients turn into a status round. Planning is conditional. Decide access per ceremony, say the rule out loud at kickoff, and give the client a better channel for what they actually want.

Read the article: Which ceremonies a client should be in
Published

Where AI-assisted analysis goes wrong

Separate what is documented from what is assumed. Almost every bad decision in this area lives in the gap.

AI-assisted analysis fails in ways that look like competence: a plausible number with no source, a definition quietly substituted, a conclusion that matches the framing of the question rather than the data. None of these announce themselves. This is a catalogue of the failure modes with a detection step for each, and a deliberate line drawn between behaviour that vendor documentation actually establishes and behaviour people infer from a good demo.

Read the article: Where AI-assisted analysis goes wrong
Published

Backfilling three years of data without hitting a rate limit

The daily job pulls one day. The backfill pulls eleven hundred. Running the same code a thousand times is how you get banned for a week.

A backfill fails for one of three reasons: it exceeds a daily quota and stops, it retries so aggressively that the platform throttles you harder, or it dies at hour nine with no record of what it already loaded. All three are design problems rather than bad luck. Chunk by a natural key, cap concurrency below the documented limit, back off with jitter, checkpoint every chunk, and load newest first so a partial result is still useful.

Read the article: Backfilling three years of data without hitting a rate limit
Published

Measuring whether anyone actually uses your BI platform

Every platform reports how many people have a licence. None of them reports how many people stopped keeping their own spreadsheet.

Licences assigned, dashboards published and total view counts are the three adoption metrics most organisations report, and all three go up whether or not the platform is working. The measures worth tracking are repeat usage, time since last login, breadth of active content, indirect engagement through subscriptions, the decay curve after launch, and the count of parallel spreadsheets still in circulation. Five of the six come out of the platform. The sixth has to be asked for, and it is the one that tells you the truth.

Read the article: Measuring whether anyone actually uses your BI platform
Published

Blended data, and the joins that quietly break

A blend is not a SQL join. It aggregates first, joins second, and that order is where the numbers go wrong.

Data blending is the most used feature in Looker Studio and the one that produces the most quietly wrong reports. The reason is structural: each table in a blend is grouped and aggregated before any join happens, so identical rows collapse and the blend can return fewer rows than the same join run in SQL. Add a default left outer operator, metrics that arrive as unaggregated dimensions, and blends that cannot be reused outside their own report, and you have four failure modes that all look like a client typo. This names each one and gives the check that catches it.

Read the article: Blended data, and the joins that quietly break
Published

Custom HTML tags are code deployment

The tag manager was sold to the business as a way to avoid waiting for developers. That is exactly what it does.

A Custom HTML tag is unreviewed JavaScript running on every page of a production site, deployed by whoever holds publish rights on the container. Nothing about the marketing framing changes that. Google provides two mechanisms that fix it: custom templates, which run sandboxed with declared permissions, and a page-level policy API that lets the site itself refuse what a container asks to do. Most organisations use neither.

Read the article: Custom HTML tags are code deployment
Published

Cross-domain measurement, and how it silently fails

The setting is on. The domain is listed. The parameter still never arrives, and every crossing starts a new session.

Cross-domain measurement keeps one visit as one session when a person moves between domains you own. GA4 does it by appending a linker parameter to the outbound link, which the destination page reads to continue the session. Configuring the domain list is the easy half. The failures are downstream: redirects that drop query parameters, scripts that stop the click event propagating, and navigation triggered by JavaScript rather than by a link.

Read the article: Cross-domain measurement, and how it silently fails
Published

Archiving old marketing data without deleting it

Most archiving projects save five dollars a month and cost a day of work. Do the arithmetic before you move anything.

BigQuery drops a table or partition to long-term storage automatically after 90 days without modification, at roughly half the active price, with no difference in performance or availability. That happens per partition, so a partitioned table gets the discount on old data while new data keeps arriving. For marketing volumes that is usually the whole answer. Exporting to colder object storage saves real money only at scale, and it converts a query into a restore project.

Read the article: Archiving old marketing data without deleting it
Published

Attribution models, explained without the jargon

A model does not decide whether a conversion happened. It decides who gets credited for one that already did.

An attribution model divides credit for a single conversion among the interactions that preceded it. It does not decide whether the conversion is counted, which day it lands on, or which interactions are even eligible for credit. Those are separate settings, and confusing them with the model is why most attribution arguments never resolve. This is the plain-language reference the rest of the attribution work points back at.

Read the article: Attribution models, explained without the jargon
Published

A proposal structure that gets signed

Nobody reads a proposal front to back, so stop writing one that only works if they do.

The proposal that gets signed is not the most persuasive one. It is the one built to be forwarded: the decision on page one, deliverables itemised, price mapped line by line against them, assumptions and exclusions written where a lawyer will look for them, and everything about you moved to the back. That order is not a style preference. It is derived from the order the document is actually opened in, by readers you did not write it for.

Read the article: A proposal structure that gets signed
Published

A skills matrix for a team of eight

The useful output is not who is good at what. It is the list of capabilities exactly one person can do.

A skills matrix is usually built for development conversations and then abandoned because nothing depends on it. Built for resourcing instead, it answers two questions a headcount total cannot: whether a piece of work can be staffed at all, and which capabilities would leave the building with one person. The method is a grid of capabilities against people, a four-level scale that describes evidence rather than confidence, and a coverage count per row that turns the whole thing into a risk register.

Read the article: A skills matrix for a team of eight
Published

Splitting the account manager and delivery lead roles

One person holding both jobs will trade delivery quality for relationship comfort, and nobody will see it happen.

Combining the account manager and delivery lead roles is correct at small scale and quietly corrosive past a threshold. The threshold is not a headcount, it is the point where client-facing hours and delivery-coordination hours stop fitting in one week across the whole book. Compute both from your own calendars, then split along decision rights rather than along seniority.

Read the article: Splitting the account manager and delivery lead roles
Published

The client reporting cycle that eats your first week

Automate the numbers. Never automate the paragraph that explains them.

Client reporting consumes senior time at the least profitable moment of the month, and the output is usually a dashboard screenshot with a paragraph of commentary. The data, layout and delivery can be fully automated. The interpretation should not be: a report with no human commentary is a data dump, and clients stop opening it. The right split frees the time that makes the commentary good.

Read the article: The client reporting cycle that eats your first week
Published

The GA4 events that break without telling you

A tag that fires in your test does not mean a tag that fires for your customers.

Most GA4 tracking failures are conditional rather than total: the mobile variant of a form, the returning visitor, the booking flow that only redirects for one service type. They survive launch QA because QA tests the happy path once, on desktop, as a new visitor. Catching them requires walking each conversion path end to end in a real session, then repeating the check after a week of live traffic.

Read the article: The GA4 events that break without telling you
Published

Your Google Ads account was hacked. The first four hours

Most of the difference between full recovery and partial recovery is decided before you finish reading this.

In the first four hours of a Google Ads account compromise: revoke unrecognised access, freeze the payment method, pause campaigns you did not create, and enforce two-factor on every Google account with admin rights. Then stop. Do not delete campaigns, users or history: deletion destroys the evidence a spend recovery claim depends on, and it is the most common self-inflicted wound in these incidents.

Read the article: Your Google Ads account was hacked. The first four hours
Published

Why your Google Ads account structure caps your ROAS

Creative decides how well you perform inside the limits. Structure decides where the limits are.

Google Ads account structure is how campaigns, ad groups, budgets and conversion actions map onto the business: locations, service lines, margin tiers. Structure decides what budget can respond to, which puts a hard ceiling on return on ad spend. Optimising creative under a bad structure produces small, repeating gains; correcting the structure produces a step change and then stops, which is the shape you want.

Read the article: Why your Google Ads account structure caps your ROAS
Published

LegitScript certification for Google Ads, explained

It is an evidence exercise with renewal dates, not a one-time form.

LegitScript is the third-party certification Google requires before advertisers in certain healthcare, pharmacy, addiction treatment and telemedicine categories can run ads. Without it, ads in those categories are disapproved. Certification is an evidence exercise rather than a form, it carries renewal dates that get missed, and certified advertisers still get flagged occasionally by policy matching errors.

Read the article: LegitScript certification for Google Ads, explained
Published

Do you need a marketing data warehouse, or just a dashboard?

The honest answer is that most mid-market marketers do not need one yet. Here is how to tell whether you do.

A dashboard is sufficient when reporting reads from one platform and history beyond that platform's retention does not matter. A marketing data warehouse earns its cost under four conditions: cross-platform questions, retention beyond platform limits, per-location rollups, and numbers that must be reproducible and auditable. For most mid-market marketing datasets, running costs are tens of dollars a month; connector licensing is usually the larger line.

Read the article: Do you need a marketing data warehouse, or just a dashboard?
Published

Why you cannot measure cost per acquisition by location

The conversions are real. The ability to credit them to a location is what is missing.

In multi-location businesses, conversion events frequently fire without a location parameter. The conversions are real and correctly counted in aggregate, but per-location performance becomes unmeasurable, which means budget decisions across sites get made on aggregate data and instinct. This is an attribution gap, it is fixable at the event layer, and it should be closed before any optimisation work begins.

Read the article: Why you cannot measure cost per acquisition by location
Published

Story points or hour bands: estimating agency work

They answer different questions. Most estimation arguments are really about which question is being asked.

Story points measure relative size and become a schedule only when multiplied by measured velocity. Hour bands communicate cost and commitment to a client. Agencies need both: points for internal sequencing, bands with written assumptions for the commercial conversation. Most estimation disputes are two people answering different questions with the same number.

Read the article: Story points or hour bands: estimating agency work
Published

What a Tableau Server to Cloud migration actually costs

The conversion work is the easy part. Nobody believes that until the deadline arrives.

A mid-size Tableau Server to Tableau Cloud migration, on the order of 150 data sources and 100-plus workbooks, takes three to six months end to end. The variable is rarely conversion effort; it is inventory, stakeholder validation and access provisioning. Programs that skip the inventory phase estimate against a number nobody has verified, and the variance is routinely a factor of two.

Read the article: What a Tableau Server to Cloud migration actually costs
Published

What a Google Ads MCC is, and when you actually need one

It is an administrative layer, not an advertising account. Confusing the two is where the operational failures start.

A Google Ads manager account (Google's term is My Client Center, or MCC) is a container that administers multiple Google Ads accounts under one login, with consolidated billing, cross-account reporting and shared assets. No campaigns run in it directly. It becomes worth the setup at roughly five accounts, and becomes essential wherever separate locations carry separate budgets or separate accountability.

Read the article: What a Google Ads MCC is, and when you actually need one