Tracking build: the price change and the Black Friday call
The quote went from about $1,110 to $2,235–$2,520. The build we agreed never moved. Two decisions we took afterwards account for all of it, and one of them is still reversible.
The short version
The rate is cheap and the quote is honest. We asked for a re-quote, then treated the re-quote as a surprise.
- The build we already agreed has not changed by a single dollar. Every part of the increase traces to two decisions taken after the 11 September plan, and we took both. Mateusz did not reprice the work.
- One question needs an answer this week. Does Google Ads server-side go live before Black Friday, or wait until December? That single call is worth roughly $1,000 of the increase, and it is the only real choice on the table.
- Everything that matters for Black Friday lands either way. The consent fix, the hashing of email and phone, retiring the duplicate conversion actions and the gclid theme fix are all in the core build, finishing 8 October.
Where the money went
The sheet comes to $2,085 at the floor and $2,370 at the ceiling. The audit is already agreed and billed separately at $150. All in, that is $2,235 to $2,520. The $2,500 figure going around is the ceiling, not the expected number.
Why it grew: two decisions, and we made both
| What | Amount | Who decided it |
|---|---|---|
| Core build, unchanged since 11 Sep | $960 | agreed in plan v2 |
| Google Ads server-side and consent pass-through, pulled back before Black Friday | $390 | Ads team call, 16 Sep |
| Parallel-run package and checkpoint 0 analysis | $735 to $1,020 | our brief, 16 Sep |
| Audit | $150 | already agreed |
The first decision came from the Ads team call on 16 September. Plan v2 had parked Google Ads server-side and the consent pass-through in December. The call pulled both back to before Black Friday. That is thirteen hours of build work nobody had budgeted a week earlier.
The second decision is our own brief. Section 10 asks Mateusz in writing to re-quote items 4 and 6 with the daily sheet and the cutover steps priced in. Section 5.3 asks for a log of every server conversion call, then a list of every missing or extra order across nineteen days. He quoted exactly that. Lines E2 through E7 on his sheet map one to one onto brief sections 5.2, 5.3, 4, 11.3 and 2.1.
Is $30 an hour fair
Yes, and it is on the low side. Specialist server-side tagging work that includes EU consent handling normally runs $60 to $150 an hour. We are paying around a third of the middle of that range.
He is also absorbing roughly seven to nine hours without charging: scoping between the audit and the build, the regression pass on the three live A/B tags, his half of the EU container move, eight weeks of coordination, and the full rebuild of container WHXM36M from the publicly served file, 7 tags, 1 trigger and 16 variables, already delivered. That is not how somebody pads an invoice.
For scale, the store took about $370,000 across its top twenty markets in the last thirty days. The entire engagement is roughly two thirds of one percent of a single month's revenue, spent on the conversion signal that Google Ads and Meta bid with.
The real decision: before Black Friday, or December?
This is the only question that needs answering. Everything else follows from it.
Pulling Google Ads server-side forward costs $390 of build. It also drags the entire parallel-run package behind it, because you cannot swap a live conversion source before peak season without first proving it counts the same orders. With the Ads-specific gclid trial included, that one decision is worth roughly $1,000 to $1,150. Send it back to December, as plan v2 had it, and the engagement drops to about $1,200 all in.
The timeline is tighter than it is dangerous. The freeze blocks theme edits only. Brief 11.1 allows pixel edits, GTM publishes and every server and panel change during a Rollouts test, because those reach both arms. If the Stape path breaks between 12 and 26 October the cost is comparison days rather than revenue, because that action is Secondary and sits outside every goal, and rollback from a bad cutover is one panel change effective immediately. What is left is thin margin, not real exposure.
Recommendation: move it to December
The case for waiting is stronger than it looks, because the fixes that actually matter land either way. The consent fix, the hashing of email and phone, retiring the duplicate conversion actions, and our own theme fix for the dropped gclid are all in the core build in blocks 1 to 3. None of them depends on this decision.
What we give up by waiting is narrower than it sounds. Our own brief, section 5.2, sets the expectation for server-side Ads as “a small lift in captured purchases where browser tags were blocked, non-EU only”. That is what $1,000 and eight days of margin are buying.
Pausing the bundle-builder test would not buy us anything. It was never blocking Mateusz. Only two items in the whole build are theme edits, the gclid fix and the removal of the WHXM36M block, and both are already sequenced around the test. Everything else he does reaches both arms and can ship while a test runs. Meanwhile the bundle builder is the Black Friday offer itself, it touches the cart and discount path, and it has never run live. Trading its validated readout for a small non-EU measurement gain is the wrong way round.
One thing would change my mind. If Chetan has evidence that browser-side conversion loss is materially hurting non-EU bidding, beyond the gclid problem we are already fixing in block 1, then do it before Black Friday. If the pain reported is the gclid loss, that is fixed in block 1 regardless and there is no reason to rush the rest.
If we do keep it before Black Friday, line E6 stops being optional. The per-step cutover checks and the written rollback recipe are the thing that saves us on 5 November. Hold the 27 October go/no-go as a real gate, and treat the no-go path, both senders running through Black Friday, as the default whenever the comparison is ambiguous.
What each side does next
Chetan and the ads team
Decide one thing. Is browser-side conversion loss materially hurting non-EU bidding right now, beyond the gclid problem we are already fixing? That answer sets the date. It does not change the price of anything else.
Send the baseline before block 3. Google Ads for the last 30 days, per conversion action per day, by conversion time, with each action's Primary or Secondary status, count setting and attribution model. The same days from Microsoft Ads on UET 343198950. Brief section 5.1 has the full list. The parallel run cannot start without it.
One thing to be aware of. Three purchase actions are live in Google Ads today, so conversions are being counted more than once. Retiring the duplicates sits in the core build and happens whatever we decide about December.
Rohit, for approval
Approve now: the core build at $960 and the audit at $150 that was already agreed. Neither is in question.
Decide: whether to add the Black Friday package at roughly $1,000 to $1,150, or push it to December. My recommendation is December.
Two trims worth taking either way. Line E1b includes estimating Black Friday request volume, which we have already run, so send Mateusz the numbers instead of buying the analysis. Line E4 runs nineteen consecutive days of comparison only because our brief asked for daily; every third day plus a full pass at the end would save an hour or two. Keep the gclid trial at 4.5 hours though, because a wrong server-tag choice only surfaces after the fourteen-day Data Manager API delay, which lands past the go/no-go date.
Payment stays per checkpoint, as brief section 11.5 sets out. Nothing is paid before a checkpoint is accepted.
No hidden monthly cost
The request volume was the open question on the Stape plan, and it is now answered from Shopify's own funnel data.
| Stape requests | Per month |
|---|---|
| Today, order webhooks only | 16,230 |
| After the restricted transport | 58,000 to 82,000 |
| Black Friday month at 2.1× | 122,000 to 172,000 |
| Pro plan allowance | 500,000 |
The Pro plan survives Black Friday with room to spare. The 2.1 multiplier is our own November over October ratio from last year. The only thing that would break the allowance is putting GA4 through the server container, and that is explicitly out of scope.