MARTECH HOMEWORK ·Marketing Operations Specialist, Nexo
ⓘ Independent job-application page. Not affiliated with, endorsed by, or operated by Nexo. Public information as of 31 October 2026.

Homework for my application to Nexo Marketing Operations Specialist.

A read of nexo.com's public tag, consent and attribution setup, compared with five peers, with a plan for each JD duty and a working tracking QA desk that runs the same audit on any site.

57
firing tags in GTM container version 144
15
vendors behind those tags
23 of 37
non-Google tags with a GTM consent setting, the most of the peers read
1
Adjust campaign value across 20 app-store links on the homepage
00

Summary

The stack is mature

GTM, GA4 with Consent Mode defaulting to denied, Segment, Adjust and OneTrust with region rules. Most ad pixels carry a tag-level consent setting.

Consent coverage has a few gaps

Five vendors' tags have no GTM consent setting. In a browser test as a visitor from Germany, Meta, OpenAI Ads, Ahrefs and Segment sent events before any choice (§★).

Web-to-app installs lose their source

Every homepage app link uses one Adjust campaign value with no ad group or creative, so installs cannot be traced to a page or button.

Measurement is spread out

5 GA4 measurement IDs and 3 Google Ads accounts in one container, and two event-naming styles. One schema and a mapping table make them joinable.

01

The live stack

Read from nexo.com's page HTML, the published GTM container and the public OneTrust configuration on 31 Oct 2026.

LayerWhat is liveWhat it means for the role
Tag managerGTM‑NWGJNHR version 144: 71 entries, 57 firing tags, 9 auto-event listeners, 5 pausedA busy container. Peer review and a change log matter more than new tags.
AnalyticsGA4 G‑WCQVMDL2Y6 in the page; 5 GA4 IDs referenced in the container. Consent Mode default: all 7 types denied, wait_for_update 500The right default. Which property feeds which report is the first question.
CDPSegment analytics.js 4.16.1 served from a first-party proxy (sa.nexo.com, API sa-api.nexo.com). Public source settings: GA4, Meta Conversions API and Google Enhanced Conversions destinations, a Google Ads plugin. GTM custom HTML sends AB Test Progress and CTA ClickedSegment is the second event stream and the server-side path to Meta and Google; its naming differs from GA4's.
Ads and pixelsGoogle Ads (3 accounts), Meta, X, LinkedIn, Reddit, Quora, TikTok, AdRoll, OpenAI Ads, Addressable, LoudechoEleven ad platforms, each with its own consent and deduplication rules.
ConsentOneTrust SDK 202411.2.0, 4 rules: GDPR opt-in (40 countries incl. UK), LGPD opt-in (Brazil), CCPA and Global notice only. Google Consent Mode on in all 4; GPP offTag gating by jurisdiction is set in OneTrust; GTM has to honour it per tag.
Mobile attributionAdjust tracker 538tuyd on 20 homepage app links (Google Play and App Store)Web-to-app is a measurable channel once links carry their source.
Forms and SEOA Salesforce site flow bridged into the dataLayer by postMessage; Ahrefs Web AnalyticsTwo more data flows that need a PII review.
02

Peer stacks

The same audit run on peers' homepages on 31 Oct 2026. "GTM consent setting" counts non-Google tags with a tag-level consent requirement; a site can also gate tags with triggers or its own CMP, so this measures one method.

SiteContainer versionFiring tagsNon-Google tags with a GTM consent settingGA4 IDsAds accountsCMP in page HTML
Nexo1445723 of 3753OneTrust
YouHodler8314530 of 5819none found
Crypto.com348600 of 2725none found
Ledn186610 of 4311none found
Gemini62240 of 1212none found
OKX55220 of 622OneTrust
Kraken, Binance, BitpandaNo GTM container in the page HTML (tags load another way)Kraken: OneTrust

Coinbase and Revolut refuse automated fetches. Counts are a snapshot of the published container.

★

Audit notes

What I would raise in week one, from public files and a browser test. Each is a question to confirm with the team, since intent and contracts are invisible from outside.

1. Five vendors have no GTM consent setting

X, LinkedIn, Reddit, Quora, TikTok, AdRoll and Loudecho tags all require ad_storage, and Addressable requires analytics_storage. The tags below have no tag-level setting:

VendorTagsBrowser test, visitor in Germany, before any choice
Meta Pixel7PageView sent in 12 of 12 runs on 4 pages, plus card_view, earn_view, borrow_view; _fbp set. The tag template calls fbq('consent','grant') on load, while OneTrust lists _fbp under C0004, which had not been granted
OpenAI Ads Pixel2Events posted to bzr.openai.com in 12 of 12 runs. Not in the OneTrust vendor list
Ahrefs Analytics2Events posted to analytics.ahrefs.com in 12 of 12 runs. Not in the OneTrust vendor list
Segment (calls from GTM)2Page events sent to sa-api.nexo.com with an anonymousId and no consent field, 12 of 12 runs; ajs_anonymous_id (OneTrust C0003) set
Salesforce form bridge1Listens for the form's postMessage; sends nothing on its own

The gating that is configured works: LinkedIn, TikTok, X, Reddit, Quora and AdRoll stayed silent until Accept, then fired. GA4 sent cookieless pings (gcs=G100) before a choice and switched to G111 after, as Consent Mode is designed to do.

Method: 4 pages, 3 fresh browser contexts each, OneTrust's geolocation override set to DE, no interaction for 15 seconds, repeated by a second independent script. In every run the banner showed and only strictly necessary cookies were active. The override changes only OneTrust's country; anything decided from the visitor's IP still saw Malaysia, so a run from an EU address is the confirming step.

2. Web-to-app installs land in one Adjust row

All 20 app-store links on the homepage use tracker 538tuyd with campaign=direct and empty adgroup. Setting campaign, ad group and creative from the page slug, section and button in the shared app-badge component would attribute every install to the page that drove it. The demo's link builder shows the pattern.

3. Five GA4 properties, three Ads accounts

The page loads G‑WCQVMDL2Y6; the first GA4 hit in the test went to G‑PDV3L12DHB. Likely deliberate (product lines, regions, tests). Worth one table: property, purpose, owner, which dashboards read it.

4. Two event dialects

GA4 and pixels use sign_up_click, card_view, section_engaged_view; Segment uses CTA Clicked, AB Test Progress. One tracking plan with a column per destination keeps BI joins simple (§05).

5. Consent for the Segment stream

The page calls analytics.load on every visit, and the source settings carry no consent block while forwarding to Meta Conversions API and Google Enhanced Conversions. Consent may be applied in destination filters or server side, which is invisible from outside. Worth confirming that OneTrust categories reach context.consent and gate those destinations.

6. One app, two App Store slugs

Links point to both nexo-crypto-wealth-platform/id1455341917 and the older nexo-crypto-banking-account/id1455341917. Apple redirects the old slug; one canonical link keeps the copy consistent.

03

Duties, my plan

JD dutyHow I would do itDetailed in
Event tracking across GTM, Segment, Adjust and GA4; resolve discrepanciesOne schema with a column per destination. Reconcile daily on a few key events (sign-up, KYC complete, first deposit): backend count vs Segment vs GA4 vs Adjust, with expected gaps written down (consent rate, ad blockers, ATT, SKAN windows).§05
Script API jobs and ETL to cut manual workSmall scheduled scripts with tests: audience syncs, a nightly container diff, a consent smoke test, a broken-link and UTM check. Each writes a log BI can read.§04, demo
Segment CDP data flowsSources, destinations and Protocols plan enforcement; identity rules written down (anonymousId to userId at sign-up); destination filters by consent category.§05
Peer reviews, OneTrust mappings, PII riskA review checklist for every GTM publish: consent setting, trigger, PII in parameters, region test. OneTrust categories mapped to every vendor in the container.§04, ★
Scope cross-team requirements, prioritise by impactA request template with the decision the data serves, the event, the owner and the deadline. Ranked by revenue or risk.§06
Mobile performance through AdjustCampaign structure on every link, deep links to the right screen, SKAN conversion values mapped to the funnel, and a weekly install-to-first-deposit view by source.★ 2
Dashboards the team can trustEach dashboard states its source, refresh time and known gaps. One metric, one definition.§06
04

Consent QA routine

Run before every container publish and weekly on production. Fully scriptable with a headless browser.

RegionOneTrust rulePass condition
Germany, UKGDPR opt-inBefore a choice: only strictly necessary cookies and cookieless Consent Mode pings. After Accept: every vendor fires once. After Reject: none of the ad vendors fire.
BrazilLGPD opt-inSame as GDPR.
CaliforniaCCPA noticeOpt-out link works and stops ad vendors; Global Privacy Control signal honoured.
Rest of worldGlobal noticeBanner text and links correct; tags fire as configured.
Per publish

Diff the new container version against the live one; every new tag needs a consent setting and an owner.

Per release

Run the region matrix above and attach the request log to the ticket.

Per quarter

Reconcile OneTrust's cookie list with what the browser actually sets.

05

One event schema

A sample plan for the core funnel. One row per event, one column per destination, so a count in any tool traces back to the same definition.

Segment eventGA4 eventAdjust eventAd platformsRequired properties
Signed Upsign_uptoken per appCompleteRegistrationmethod, platform
KYC Completedkyc_completetoken per appcustomlevel, duration_sec
Deposit Completeddeposit_completerevenue eventPurchase or customasset, amount_usd, rail, first_deposit
Card Orderedcard_ordertoken per appcustomcard_type, mode
CTA Clickedcta_clicknonenonecta_source, cta_text

The demo's Event QA tab checks payloads against this plan: naming, required properties, PII (email, IBAN, card number, wallet address) and the GA4 limits.

06

First 90 days

Days 1 to 30: map
  • Inventory every tag, property and destination with an owner
  • Consent region matrix run and logged
  • Reconcile 3 funnel events across backend, Segment, GA4, Adjust
Days 31 to 60: fix
  • Consent settings on every vendor tag
  • Campaign structure on web-to-app links
  • Tracking plan v1 with Protocols enforcement
Days 61 to 90: automate
  • Nightly container diff and consent smoke test
  • Install-to-first-deposit dashboard by source
  • Documented stack, so it lives outside one person's head
07

Method & sources

Role: Marketing Operations Specialist, Nexo (public job posting, 2026).

Public files read on 31 Oct 2026: nexo.com page HTML; the published container at googletagmanager.com/gtm.js?id=GTM‑NWGJNHR; OneTrust configuration at cdn.cookielaw.org/consent/<id>/<id>.json. Peer sites read the same way.

Browser test: Chrome with a fresh profile, OneTrust geolocation override, no interaction for 15 seconds, every third-party request logged. 4 pages, 3 runs each, repeated by an independent second script.

Nothing here is a legal opinion. Consent decisions depend on contracts and assessments that are not public.

Demo: nexo-martech.pages.dev · Google Consent Mode · Adjust tracker URLs · Segment Protocols

Independent homework for the Nexo Marketing Operations Specialist role · 2026 · edwardtay.com