Short answer: You can upload offline conversions in Google Ads by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Google Ads Upload Offline Conversions action to a workflow, map its 7 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Customer ID customer_id | string | Required | Google Ads customer ID (no dashes) |
Conversion Action Resource Name conversion_action | string | Required | Full resource name of the conversion action |
Google Click ID (GCLID) gclid | string | Required | The GCLID captured from the original ad click |
Conversion Date Time conversion_date_time | string | Required | Conversion timestamp with timezone offset |
Conversion Value conversion_value | number | Optional | Numeric value of the conversion |
Currency Code currency_code | string | Optional | ISO 4217 currency code (e.g. USD, EUR) |
Manager Account ID login_customer_id | string | Optional | MCC manager account ID (optional) |
{"customer_id": "{{trigger.customer_id}}","conversion_action": "customers/1234567890/conversionActions/333","gclid": "{{trigger.gclid}}","conversion_date_time": "2025-01-15 10:30:00+00:00","conversion_value": "{{trigger.conversion_value}}"}
{"results": [{"gclid": "Cj0KCQ...","conversionAction": "customers/1234567890/conversionActions/333","conversionDateTime": "2025-01-15 10:30:00+00:00"}]}
Use these fields in downstream nodes for routing, logging, or error handling.
Any of these apps can fire this action as part of a workflow.