Skip to main content

New

Google Meta Ads Conversion Tracking

Report Zendesk outcomes to Google Ads and Meta as conversions from any trigger.

No Ratings

Leave a review

Works with

Support

Developer

Unwired Logic

About this app

What this app does

Google + Meta Ads Conversion Tracking closes the loop between an ad click and the customer it produced. A Zendesk trigger tells it when an outcome happens - an order won, a signup, a completed job - and it reports that to Google Ads and Meta as a conversion, so your campaigns optimise toward real customers, not clicks.

Before you start. This app connects your existing Google Ads and Meta Ads accounts to Zendesk - it doesn't run your ads for you. You'll need someone comfortable in Google Ads / Meta Events Manager (or your ad agency) to supply credentials and create the conversion actions, a developer to put the ad click onto your enquiry form, and a Zendesk admin to build the triggers.

By Unwired Logic - 20+ years building integrations for business platforms.

Key features

  • Reports from your own workflow. Any Zendesk trigger sends a conversion, so it fires when your process says so - not when a page loads.

  • As many conversions as you have triggers. Each names its own conversion, value and currency, for Google, Meta or both.

  • Better matching, no raw data. A click id alone works; email and phone are hashed before they leave us.

  • Consent honoured per customer, and one ad click converts once per event type.

  • No Google key to manage - you grant our service account on your Google Ads account, and revoke it there.

  • Visible results. Recent uploads lists every conversion decided on - skipped included - for 90 days, and notes each upload on its ticket.

Data handling and security

Data exchanged. Your trigger sends the click identifier, a conversion name, and optionally an order reference, value, currency, email and phone. Email and phone are hashed with SHA-256 before reaching Google or Meta, never in the clear. Nothing is read back from Zendesk except the name of whoever grants access; the only thing written is an internal note per upload.

Credentials. No Google key is stored: uploads use an Unwired Logic service account you authorise on your own Google Ads account and can revoke there. Your customer id, Meta credentials and Zendesk grant are encrypted at rest per installation (field-level AWS KMS), and never shown again.

Access control. Restrict the app to the Admin role when you install it, under Enable role restrictions - Zendesk then refuses to load it for anyone else. Your receiver URL is unique per account and every request is signature-verified. TLS throughout.

Permitted use. Data is used solely to upload your conversions - never for advertising, profiling, resale or training AI models.

More detail. Setup guide | Privacy Policy | Terms of Service | support@unwiredlogic.com

App details

How to install

The setup guide has the request body to paste and the Google and Meta prerequisites in full. Allow about an hour.

Step 1: Install

Install the app and tick Enable role restrictions, selecting Admin - that decides who can open it. Then open it from the left nav bar and connect Zendesk access: that grant is what lets the app note each upload on its ticket. The other steps work without it.

Step 2: Get the ad click into Zendesk

Only your website can do this: your enquiry form must store the click id and UTM source on the Zendesk user - the setup guide lists the fields. Tag every campaign's landing URL with utm_source (google, facebook, instagram or meta); that value picks the platform, and Google auto-tagging will not add it.

Step 3: Connect Google Ads, Meta Ads, or both

  • Google Ads - enter your Customer ID. There is no key to paste: copy the service account address shown there and add it as a Standard user under Admin > Access and security, accepting the customer data terms. Conversion actions must be the offline / API-upload kind, not website tags.

  • Meta Ads - enter your Dataset ID and a Conversions API Access token.

Use Test connection on each; neither records a conversion.

Step 4: Create the webhook

Copy the Receiver URL from Webhook setup - unique to your account, so treat it as a secret. In Admin Center > Apps and integrations > Webhooks, create one webhook pointing at it, method POST, format JSON. Paste its signing secret back into Webhook setup and save; requests are rejected until you do. One webhook covers every conversion.

Step 5: Create your triggers

Per conversion, create a trigger with the conditions describing that outcome, add Notify active webhook, choose your webhook, and paste the request body from the setup guide. Give each a distinct eventType: that separates conversions in reporting and deduplication.

Step 6: Check it is flowing

Recent uploads lists every conversion decided on, newest first - skipped and rejected included. Click a row's ticket to open it. Send a ticketId and each upload is noted on that ticket too.

Troubleshooting

  • You cannot see the app - your role is not in its role restriction. A Zendesk admin can change that in Admin Center > Apps and integrations.

  • Conversions not appearing - each row in Recent uploads says what happened. Click id invalid points at Step 2, No action named at your trigger's body, Credentials missing at Step 3.

  • Nothing listed at all - check the webhook's delivery log in Admin Center. A rejected request means either the signing secret does not match, or the trigger sent no click id at all, which points at Step 2.

  • Help - support@unwiredlogic.com

Leave a review

Share your experience with the rest of the Zendesk community

.zendesk.com