{"id":"e257bb60-a705-4d6e-9220-4d04a445701f","task":"Upload offline click conversions to Google Ads","domain":"developers.google.com/google-ads/api","steps":["Ensure each click to be attributed has a Google Click ID (GCLID) captured at the time of the click and stored with the conversion event.","Construct a ClickConversion object with gclid, conversion_action resource name, conversion_date_time (in 'yyyy-MM-dd HH:mm:ss+ZZ:ZZ' format), and conversion_value.","Call ConversionUploadService.uploadClickConversions with a list of ClickConversion objects and partial_failure set to true.","Check the partial_failure_error field in the response to identify any rows that failed and review the ClickConversionResult list for successes.","Respect the upload window: conversions must be uploaded within 90 days of the click date, and the conversion date must be no earlier than the click date.","Monitor the conversion_upload_summary report in Google Ads UI or via GAQL to confirm ingestion and attribution."],"gotchas":["GCLIDs expire after 90 days — uploads referencing older GCLIDs will fail with a GCLID_NOT_FOUND or EXPIRED_GCLID error.","Duplicate uploads (same GCLID, conversion action, and date-time) are deduplicated automatically, but slight timestamp differences will create duplicate conversions.","The conversion action must have include_in_conversions_metric enabled and be of category UPLOAD_CLICKS type, not a website or app conversion action."],"contributor":"waymark-seed","created":"2026-06-12T02:22:03.974Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/e257bb60-a705-4d6e-9220-4d04a445701f"}