Senior Shopify Measurement Specialist — GA4 & Server-Side GTM

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Gig

SALARY

Negotiable — see application

HOURS PER WEEK

10

DATE UPDATED

Jul 10, 2026

JOB OVERVIEW

Put Malachit in your first line so I know you read this fully.

THE PROBLEM (straight up):
We run an established German ecommerce Shopify store. Our GA4 and our Shopify storefront analytics disagree by 20-30x on traffic from one country — and that traffic produces zero revenue and behaves nothing like our real customers. We have completed an internal investigation and documented our observations. We are now looking for an independent specialist to review the evidence, challenge our thinking where appropriate, and recommend the safest path forward.

This is a diagnosis-and-fix engagement, NOT a pixel-install job. If your GA4 experience stops at Shopify's native integration, this isn't for you.

OUR STACK:
Shopify · GA4 (multiple data streams) · Google Tag Manager (web + server-side) · Stape · Shopify Customer Events / custom pixel · Google & YouTube sales channel · Google Ads, Meta, Pinterest downstream.

WHAT WE NEED FROM YOU:
- Review our evidence package (screenshots + data).
- Tell us what the evidence proves, what it only suggests, and what it doesn't support.
- Identify the most likely explanation — and be honest about your confidence level.
- Implement the agreed solution once the most likely explanation has been validated, with a written rationale, a config backup taken first, and post-change validation.
- HARD REQUIREMENT: no change may risk Googlebot crawl access or indexing. Non-negotiable.

WE VALUE EVIDENCE-BASED DISAGREEMENT. You will NOT be penalized for concluding our internal investigation is wrong — you'll be rewarded for it, IF you show the evidence behind your position. We're not hiring someone to agree with us. We're hiring someone to help us determine what the evidence supports.

REQUIRED EXPERIENCE:
- Deep hands-on GA4 (DebugView, Realtime, data streams, data filters; BigQuery export a plus)
- GTM web AND server-side (Stape or equivalent)
- Shopify Customer Events / custom pixels
- Real experience separating genuine traffic from bot / crawler / analytics-spam patterns
- Experience communicating technical findings to non-technical business stakeholders is highly valued

TO APPLY — answer these 3 things (no answers = no review):

1. Below are five observations from a GA4 property. Rank your top 3 hypotheses from most to least likely, based only on the evidence provided, include your confidence level for each, and for your #1, name the single fastest way to confirm or kill it:
- GA4 shows ~2,500 sessions/month from a country the store doesn't advertise in; Shopify's own analytics shows ~100 for the same period.
- That traffic: 91% desktop (market is mobile-first), ~0% engagement, EUR 0 revenue.
- Server-side (Stape) logs show 0 requests from that country on the one day sampled.
- The GA4 property has two active data streams.
- 100% of the sessions report the store's own hostname.

2. Describe one time you refused to make a change to a live production tracking setup until you'd validated something first. What was it?

3. Based on the information currently available, what would be your expected fixed-fee range (or hourly rate) for this project? We understand this is preliminary — the final scope and fixed fee will be mutually agreed after the technical assessment and before any implementation begins.

TERMS:
Fixed-scope, fixed-fee consulting engagement. One-time gig. Remote, async-friendly, with one live screen-share to walk through your findings before touching production. Production changes will only be made after approval from the store owner. Selected candidates will receive a technical assessment based on an evidence package.

We are looking for one specialist who values careful investigation over quick assumptions. If that describes how you work, we'd love to hear from you.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0282
Total Execution Time  0.0296
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,120 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Shopify-Measurement-Specialist-GA4-Server-Side-GTM-1686483
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0210 seconds)  (Hide)
0.0009   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1686483
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 859356
 LIMIT 1 
0.0013   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1686483
AND `misc`.`idIS NULL 
0.0010   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-13',ej.date_added) duration_daysDATEDIFF('2026-07-13',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-07-13',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1686483' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1686483 
0.0028   UPDATE employer_jobs SET hit_counts '***Jul-10-2026=480***Jul-11-2026=20***Jul-13-2026=1' WHERE job_id'1686483'  
0.0013   UPDATE employer_jobs SET monthly_hits '***Jul-2026=499' WHERE job_id'1686483'  
0.0041   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1686483' AND status LIKE 'sent%' ORDER BY id DESC  
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1686483 
0.0043   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '859356'
AND `date_added` >= '2022-06-08' 
0.0009   select from teasers 
0.0008   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)