How vyflow uses the Google Ads API

Internal tool description · Updated September 2, 2026

vyflow is a marketing agency in Chicago, Illinois that plans, builds, and operates Google Ads campaigns for healthcare practices. Client accounts are linked under the vyflow Google Ads manager account, and vyflow staff manage them directly. This page describes the small internal tool we run against the Google Ads API to support that work.

Companyvyflow · Chicago, IL
Users of the toolvyflow staff only

Business model

vyflow earns a one-time setup fee and a monthly retainer from each client for building and operating their growth stack: the website and tracking layer, Google Ads campaigns per location, local listings, reporting, and AI operations. The service tiers are described on our homepage. Our first client is a ten-clinic physical therapy group in the Chicago area whose Google Ads account is linked under our manager account. Additional clients will be onboarded the same way.

The API tool is used only by vyflow staff, only on accounts we directly manage. We do not resell or sublicense API access, we do not offer software to third parties, and there are no external users, logins, or self-serve features.

What the tool does

1. Offline click conversion uploads (primary use)

Each client's website captures the Google click identifier (GCLID) with every inquiry using first-party code, and stores it in the client's own lead record. When a lead is received, and again later when that lead becomes a booked appointment, the tool calls ConversionUploadService.UploadClickConversions to report the conversion: click identifier, conversion action, conversion time, and currency and value where applicable.

No personally identifiable or health-related information is sent to Google Ads. Enhanced conversions for leads are deliberately not used.

2. Performance reporting (secondary use)

Scheduled jobs call GoogleAdsService.SearchStream to retrieve campaign, ad group, and search-term performance for the accounts under our manager account. We compile this into a weekly report for each client.

3. Campaign monitoring (secondary use)

Read-only checks of campaign status and budget pacing, so a paused campaign or an exhausted budget is noticed the same day rather than at the end of the month.

Architecture and data flow

  1. The client's website captures the GCLID with each form submission using a first-party script.
  2. Our workflow platform, with workflows authored and operated by vyflow, writes the submission to the client's lead ledger.
  3. A scheduled vyflow workflow reads new ledger rows that contain a click identifier and calls the Google Ads API, authenticating with OAuth 2.0 using vyflow's own credentials and the developer token issued to our manager account, to upload offline click conversions into the managed client account.
  4. A weekly reporting workflow retrieves performance data with SearchStream and writes an aggregate report to our internal operations workspace.

Illustrative request

UploadClickConversions
  customer_id: <managed client account>
  partial_failure: true
  conversions: [{
    gclid: "Cj0K...",
    conversion_action: "customers/.../conversionActions/...",
    conversion_date_time: "2026-09-01 10:15:00-05:00"
  }]

Access, security, and volume

Compliance note. vyflow's clients are healthcare practices. Patient information stays inside systems covered by the appropriate agreements with each client. The Google Ads API integration is designed so that no protected health information can reach Google Ads: the only identifier that crosses the boundary is the click ID that Google itself generated. See our privacy policy for how we handle Google Ads data.

Contact

Questions about this tool or our use of the Google Ads API: tarek@vyflow.ai.