Understanding Conversion Flow
How Conversions Work:- User clicks ad (stores click ID: gclid, fbclid, ttclid)
- User visits site (DATALYR captures click ID)
- User converts (purchase, signup, etc.)
- DATALYR tracks conversion event
- Conversion Rule sends to ad platform
- Platform matches click ID to conversion
Quick Diagnostic
Check Event Stream:- Go to Dashboard → Event Stream
- Filter by conversion event name (e.g., “purchase”)
- Verify event appears with revenue/properties
Conversion Rule Not Configured
Symptoms:- Events tracked in DATALYR
- Zero conversions in ad platforms
- Go to Integrations → Conversion Rules
- Verify rule exists for your event
- Check rule is enabled (toggle on)
- Click “Create Rule”
- Select event name (e.g., “purchase”)
- Select platforms (Meta, Google, TikTok)
- Map value field to
revenueor similar - Enable rule
Ad Platform Not Connected
Symptoms:- Conversion Rules configured
- Still no conversions in platforms
- Go to Integrations → Overview
- Verify platform shows “Connected”
- Check “Last Sync” timestamp is recent
- Click “Connect” next to platform
- Authorize DATALYR access
- Complete OAuth flow
No Click ID Captured
Symptoms:- Conversions tracked
- Attribution shows “Direct” or “Unknown”
- Not appearing in ad platform
- Meta: 7 days
- Google: 90 days
- TikTok: 28 days
- Test ad click yourself, verify click ID in URL
- If missing, check ad settings (tracking template, URL parameters)
- Ensure landing page preserves URL parameters
Attribution Window Expired
Symptoms:- Click ID captured
- Conversion happened later
- Not attributed
- Meta: 7-day click, 1-day view
- Google: 90-day click, 1-day view
- TikTok: 28-day click, 1-day view
Event Value Missing or Incorrect
Symptoms:- Conversions appearing in platform
- Revenue showing as $0 or wrong amount
- Go to Event Stream
- Click on conversion event
- Verify
revenueorvalueproperty exists - Check amount is correct
price instead of revenue:
revenue in event.
Value Not a Number:
Deduplication Removing Conversions
Symptoms:- Conversions in Event Stream
- Fewer conversions in ad platforms
- User converts on January 1
- Shopify webhook fires on January 2 (duplicate)
- Second conversion deduplicated
- Event Stream → Click event
- Check “Deduplication Status”
- If “Deduplicated”, conversion blocked
- Integrations → Conversion Rules
- Edit rule → Deduplication settings
- Adjust window or disable (not recommended)
Test Mode Enabled
Symptoms:- Conversions configured correctly
- Not appearing in ad platform reporting
- Go to Integrations → Conversion Rules
- Check rule settings
- Look for “Test Mode” toggle
Platform-Specific Issues
Meta (Facebook/Instagram)
Conversions Not Matching: 1. Event Name Mismatch: Meta expects specific event names:Purchase, Lead, AddToCart.
Fix: Use standard event names in Conversion Rules or map custom events.
2. Pixel Also Installed:
Both DATALYR CAPI and Meta Pixel installed.
Issue: Double-counting (DATALYR deduplicates, but platform may show inflated numbers).
Fix: Keep both (DATALYR automatically deduplicates). Or remove Meta Pixel, use DATALYR only.
3. Conversions in Events Manager but Not Ads:
Conversions tracked but not attributed to ads.
Cause: No fbclid in original click.
Fix: Verify Meta ads include click ID parameter.
Google Ads
Conversions Not Importing: 1. Wrong Conversion Action: Conversion Rule sends to wrong Google Ads conversion action. Fix:- Google Ads → Tools → Conversions
- Find conversion action name
- Update DATALYR Conversion Rule to match exact name
- Google Ads → Tools → Conversions
- Select conversion action
- Enable “Enhanced conversions”
TikTok Ads
Conversions Not Appearing: 1. Pixel Conflict: TikTok Pixel also installed causing duplicate tracking. Fix: Remove TikTok Pixel, use DATALYR only. 2. Event Name Mismatch: TikTok expects specific event names:CompletePayment, SubmitForm.
Fix: Map custom events to TikTok standard events in Conversion Rule.
3. Missing Required Fields:
TikTok requires contents array for product data.
Fix:
Shopify Integration Issues
Symptoms:- Orders in Shopify
- Not tracked in DATALYR
- Go to Integrations → Shopify
- Verify “Connected”
- Check “Last Sync” timestamp
- Disconnect and reconnect Shopify integration
- Test with new order
Stripe Integration Issues
Symptoms:- Payments in Stripe
- Not tracked in DATALYR
- Go to Integrations → Stripe
- Verify “Connected” with restricted API key
- Check “Last Sync” timestamp
charge.succeeded and subscription events tracked.
Fix: For invoices, use invoice.paid webhook.
3. No Customer Metadata:
Can’t link payment to website visitor.
Fix: Include visitor ID in Stripe customer metadata:
Server-Side vs Client-Side Tracking
Issue: Tracking conversion from server (webhook) but attribution data stored client-side. Example:- User clicks ad (client-side tracking captures fbclid)
- User purchases (server-side webhook fires)
- Webhook doesn’t include fbclid
Verify Postback Sent
Check Postback Status:- Go to Event Stream
- Click on conversion event
- Check “Postbacks” section
- Verify platforms show “Sent” with timestamp
- Queued: Waiting to send
- Sent: Successfully sent to platform
- Failed: Platform rejected (see error message)
- Skipped: Deduplication or rule condition not met
- Invalid access token (reconnect integration)
- Missing required fields
- Platform API error (temporary)
Testing Conversions
Test Before Going Live: 1. Enable Test Mode: Integrations → Conversion Rules → Enable “Test Mode” 2. Make Test Purchase: Complete purchase on your site with small amount. 3. Check Event Stream: Verify conversion appears within seconds. 4. Check Platform:- Meta: Events Manager → Test Events
- Google: Conversions → All Conversions (may take hours)
- TikTok: Events Manager → Test Mode
Still Missing Conversions?
Debug Checklist:- Event appears in Event Stream?
- Conversion Rule exists and enabled?
- Integration connected?
- Event has value/revenue field?
- Click ID captured (check attribution)?
- Within attribution window?
- Postback status shows “Sent”?
- Event Stream screenshot
- Conversion Rule settings
- Integration connection status
- Specific conversion example (order ID, timestamp)