Welcome to HashedSignals
You're about to recover 20–30% of the conversion signal your pixel has been missing. This guide walks you through installation, platform connection, and verification in under 30 minutes.
What you'll have at the end: Server-side events flowing to Meta, Google, and TikTok simultaneously — with your raw data warehoused in BigQuery.
- Shopify app installed and pixel connected
- Meta Pixel ID + CAPI access token entered
- Google Measurement ID + API secret entered
- TikTok Pixel ID + access token entered
- Test purchase event verified in all three platforms
- BigQuery dataset confirmed receiving events
No developer needed. No GTM. Just your Shopify admin and your ad platform credentials.
Before you begin
Gather these credentials before starting. You'll paste them into the HashedSignals app dashboard.
Where to find your Meta CAPI token
- Go to Meta Events Manager → your pixel → Settings
- Scroll to "Conversions API" → Generate access token
- Copy the token — it won't be shown again
Where to find your Google API secret
- Go to Google Analytics → Admin → Data Streams
- Click your web stream → Measurement Protocol API secrets
- Create a new secret → copy the value
Where to find your TikTok access token
- Go to TikTok Ads Manager → Assets → Events
- Click your pixel → Settings → Generate Access Token
- Copy the token
Installation
- read_orders — to capture purchase events
- write_script_tags — to inject the JS tracking tag
- write_pixels — to connect the web pixel
- read_customer_events — to capture storefront events
hashedsignals. You should see a request to data.hashedsignals.com on page load. This confirms the JS tag is firing.Meta CAPI
HashedSignals forwards events to Meta using the Conversions API (CAPI). Events are sent server-side alongside your browser pixel — deduplication prevents double-counting.
InitiateCheckout · Purchase
Before any transmission
Verify in Meta Events Manager
- Go to Meta Events Manager → your pixel → Test Events
- Enter your store URL and click "Open Website"
- Browse your store — you should see events appearing in the Test Events panel
- Events marked "Server" are from HashedSignals CAPI
- Events marked "Browser" are from your existing pixel
After 48-72 hours, check your Event Match Quality (EMQ) score in Meta Events Manager. A score above 7.0 is excellent. HashedSignals typically moves brands from 4-5 to 7-9 within the first week.
If you want to test without affecting live data, add your Meta Test Event Code in the HashedSignals dashboard. Remove it before going fully live.
Google Enhanced Conversions
HashedSignals forwards events via the GA4 Measurement Protocol with SHA-256 hashed user data — enabling Google Enhanced Conversions without manual GTM setup.
begin_checkout · purchase
sha256_phone_number sent with purchase
Verify in GA4 DebugView
- Go to GA4 → Admin → DebugView
- Add
?debug_mode=1to your store URL - Browse your store — events should appear in DebugView within seconds
Verify in Google Ads
- Go to Google Ads → Tools → Conversions
- Check your purchase conversion action — status should show "Recording conversions"
- Enhanced conversions column should show "Active" after your first purchase event
TikTok Events API
HashedSignals forwards events to TikTok's Events API — the server-side equivalent of the TikTok Pixel.
InitiateCheckout · PlaceAnOrder
Event dedup via event_id
Verify in TikTok Events Manager
- Go to TikTok Ads Manager → Assets → Events → your pixel
- Click "Test Events" — enter your store URL
- Browse your store — events should appear in the test panel
- Server events from HashedSignals will be labeled "Partner" or "API"
BigQuery
Every event is automatically stored in your dedicated BigQuery tenant dataset — no additional configuration needed.
hashedsignals-prodfpd_{your_tenant_id}raw_eventsQuery your first events
SELECT
event_name,
timestamp,
properties.value,
properties.currency,
context.ip
FROM `hashedsignals-prod.fpd_YOUR_TENANT_ID.raw_events`
WHERE DATE(timestamp) = CURRENT_DATE()
ORDER BY timestamp DESC
LIMIT 50;
To get access to your BigQuery dataset, email [email protected] with your Tenant ID. Access is provisioned within 24 hours on Growth and Pro plans.
Verify everything is working
Run through this checklist 24-48 hours after installation.
- Test Events panel shows PageView, AddToCart, Purchase from server
- Event Match Quality score is visible (target: 7.0+)
- No duplicate events (server + browser both firing for same conversion)
- Purchase events include hashed email in payload
- GA4 DebugView shows events from your store
- Purchase conversion action in Google Ads shows "Recording"
- Enhanced conversions column shows "Active"
- TikTok Events Manager test panel shows server events
- PlaceAnOrder events appearing for purchases
- raw_events table is populated with today's events
- event_name, timestamp, properties columns are populated
- consent fields are present on all events
What to expect — first 30 days
Success metrics to track
Check these weekly in the first month. These are the leading indicators that HashedSignals is working.
FAQ
Will server-side events double-count my conversions?
No. HashedSignals sends a unique event_id with every server-side event that matches the event_id sent by your browser pixel. Meta, Google, and TikTok use this to deduplicate automatically.
Do I need to remove my existing pixel?
No — keep your existing pixel running. HashedSignals supplements it, not replaces it. The redundancy is intentional: browser pixel + server-side CAPI together gives you the highest possible match rate.
Is this GDPR and CCPA compliant?
Yes. All PII (email, phone) is SHA-256 hashed before transmission. Consent signals from your store are forwarded with every event. If a customer opts out, HashedSignals respects that signal.
How long until I see results?
Events flow within 60 seconds of installation. EMQ score improvement shows in 48–72 hours. Conversion volume and ROAS improvement typically shows in 7–14 days as the ad platforms adapt to the better signal.
What if an event fails to send?
Events are queued via Google Pub/Sub before being forwarded. This means temporary failures at the destination (Meta API downtime, etc.) won't lose events — they'll be retried. Check your BigQuery raw_events table as the source of truth.
Can I use HashedSignals without Shopify?
Yes — paste the JS snippet directly into your site's <head> tag. Contact Kal for your manual install snippet and credentials.