Google Ads Scheduled Feeds

This guide shows how to connect Konektor to Google Ads Scheduled Uploads so Google Ads automatically pulls your lead data as:

  1. Offline Conversions — to optimize bidding based on real-world conversions (chat → deal).
  2. Customer Match — to target/exclude audiences, build lookalikes, or run remarketing.

How it works: Konektor exposes two CSV URLs per workspace. Google Ads fetches them on a schedule (Daily / Weekly / Monthly) using HTTP Basic Auth. All PII (email, phone, name) is SHA-256 hashed before transit, per Google's official spec.

Feed URLs

Each workspace has two feed URLs. Konektor shows the two URLs, with your workspace code, on the Scheduled Feeds page. Paste them into Google Ads.

https://konektor.id/v1/google/feeds/{code}/offline-conversions.csv
https://konektor.id/v1/google/feeds/{code}/customer-match.csv
  • Protocol: HTTPS.
  • Sign-in: HTTP Basic Auth, with the Username and Password from Konektor.
  • Format: CSV that follows the official Google specification (see below).
  • Content: Google Ads gets the latest data each time it fetches the feed.

Prerequisites

  1. Workspace already has a Tracking Code (auto-created at signup).
  2. An active Google Ads account with Admin / Standard access.
  3. (For offline conversions) Conversion Actions already created in Google Ads with matching names.

Step 1 — Generate Credentials in Konektor

  1. Sign in to Konektor → select the workspace to connect.
  2. Open Tracking & Ads > Ad Analytics > Google Ads, then click the Scheduled Feeds button.
  3. Click "Generate Credentials".
  4. Copy the password displayed right now — it's shown only once. Save to your password manager.
  5. Also copy the Username and both feed URLs (offline & customer match).

Konektor cannot show this password again. If you lose it, click "Rotate Password" to make a new one. The old password stops working immediately. Each Google Ads schedule fails until you enter the new password.

Step 2 — Set Up Offline Conversions

2a. Create Conversion Actions in Google Ads

  1. Google Ads → Tools & Settings → Conversions → New conversion action.
  2. Pick Import → Other data sources or CRMs → Track conversions from clicks.
  3. Set Name to match your Konektor lead statuses (default: new, qualified, won, etc.) — or use name-map in feed settings.
  4. Repeat for every status you want to import.

2b. Create the Schedule

  1. Google Ads → Tools & Settings → Conversions → Uploads → Schedules.
  2. Click + → HTTPS.
  3. Paste the offline conversions URL from Konektor:
    https://konektor.id/v1/google/feeds/WS-XXXXXX/offline-conversions.csv
  4. Enter the Username and Password from Konektor.
  5. Pick a frequency:
    • Daily (recommended) — enough for most cases.
    • Weekly / Monthly — for low-volume workspaces.
  6. Click Save.
  7. Click "Upload preview" — Google Ads will immediately test-fetch your file.

2c. CSV Output Example

The first row is always the header. Google Ads needs at least one data row below it.

Google Click ID,GBRAID,WBRAID,Email,Phone,Conversion Name,Conversion Time,Conversion Value,Conversion Currency,User IP address,User agent,Session attributes
Cj0KCQ...,,,a3f1b2c...,e5d8f7a...,qualified,2026-04-21 10:30:00+0700,100000,IDR,,,
,,,d92fe8b...,c7b3a14...,won,2026-04-20 15:22:11+0700,2500000,IDR,,,
  • Google Click ID / GBRAID / WBRAID — the Google ad click ID, when the lead came from an ad click. It can be empty.
  • Email / Phone — SHA-256 hashed. Email is lowercased & trimmed, phone is normalized to E.164 (+62…).
  • Conversion Name — lead status (or custom mapping).
  • Conversion Time — format yyyy-MM-dd HH:mm:ss+HHMM. Each row carries its own time zone (default +0700).
  • Conversion Value — the Closing value of the lead. If it is empty, Konektor uses the Estimated value. If both are empty, the value is 0.
  • Conversion Currency — ISO-4217 (default IDR).
  • User IP address / User agent / Session attributes — extra signals from the visit. They can be empty. The IP is always empty for visitors from the EEA, the UK, and Switzerland.

Step 3 — Set Up Customer Match

3a. Create Customer List in Google Ads

  1. Google Ads → Tools & Settings → Audience manager → Customer lists.
  2. + → Upload data source: Scheduled (via HTTPS).
  3. Paste the customer match URL from Konektor:
    https://konektor.id/v1/google/feeds/WS-XXXXXX/customer-match.csv
  4. Enter Username and Password.
  5. Pick a frequency (Daily / Weekly / Monthly).
  6. Check the consent confirmation checkbox for customer-data use per Google's policy.

3b. CSV Output Example

Email,Phone,First Name,Last Name,Country,Zip
a3f1b2c...,e5d8f7a...,f4a2b1e...,8c3d7b2...,ID,
d92fe8b...,c7b3a14...,a1b2c3d...,,ID,
  • All PII SHA-256 hashed (lowercase hex).
  • Country — ISO-2 code (default ID), not hashed.
  • Zip — optional, not hashed.
  • Requires Email OR Phone at minimum. Leads without either are skipped.

Advanced Settings

Status Filter

By default the offline feed sends all statuses. Pick specific ones if you want Google Ads to import only key milestones (e.g. qualified, won).

Custom Name Map

If you want conversion names in Google Ads to differ from Konektor statuses:

Konektor StatusName in Google Ads
qualifiedQualified Lead
wonPaid Conversion

How to set it in Konektor:

  1. Open Tracking & Ads > Ad Analytics > Google Ads, then click the Scheduled Feeds button.
  2. In the Offline Conversions Settings card, find Conversion names. Each status has one box.
  3. Type the name of the Conversion Action in Google Ads. The name must match exactly, including capital letters.
  4. Leave a box empty to use the status name.
  5. Click Save.

Result: the Conversion Name column in the CSV uses the name you typed. If Lead status filter has a value, only the selected statuses appear.

Rolling Window

By default, the offline feed contains only the leads that changed in the last 90 days. This keeps the file small and follows the Google guidance: do not send old conversions again and again. Change it in Data window (days) (1–540).

The click has its own 90-day limit. Google rejects an imported event when the ad click that created the lead is older than 90 days. The rolling window looks at the last change to the lead, so a slow deal can move a very old click back into range. Konektor skips those rows for you, so the CSV never carries a row that Google will reject.

A lead with a sales cycle longer than 90 days cannot be imported as an offline conversion. Use Customer Match for that audience instead.

Timezone

Default +0700 (Jakarta). Change if your workspace is in a different zone. Format: +HHMM or -HHMM.

Data Security

  • Google Ads gets the feed only through HTTPS, with your Username and Password.
  • Konektor hashes email, phone, and name with SHA-256 before the data leaves Konektor. Google requires this format.
  • Keep the password in a password manager. Do not send the password in a chat or an email.
  • If the password leaks, click Rotate Password. Then enter the new password in each Google Ads schedule.
  • Turn off each feed that you do not use.
  • Look at Last fetched on the Scheduled Feeds page to see when Google Ads last got the feed.

Troubleshooting

"Failed to determine the data type or schema of the data source"

This message appears when the feed file has no data row. Google Ads needs at least one row to read the columns.

  • Open Scheduled Feeds in Konektor. Read the row count in Last fetched.
  • A count of 0 means that no lead with an email or a phone number exists in Data window (days).
  • A lead from a rotator link click gets a phone number only after the customer sends a chat to the number that is connected to Konektor. Connect WhatsApp in Connection > Connect WhatsApp.
  • After a new lead with a phone number arrives, click Retry in Google Ads.

"401 Unauthorized" in the Google Ads preview

  • Check Username & Password. Forgot? Click "Rotate Password" in Konektor.
  • No leading/trailing whitespace when pasting.

"404 Not Found"

  • Verify the workspace code in the URL (format WS-XXXXXX).
  • Ensure the relevant feed (Enable offline conversions feed or Enable customer match feed) is on.

"Low match rate" on Customer Match

  • Make sure email & phone on leads are real (not dummy values).
  • Phone must normalize to E.164 — Indonesian 08xx is auto-converted to +628xx.

"Conversion name not found" in Google Ads

  • The Conversion Name field must exactly match the Conversion Action name in Google Ads (case-sensitive).
  • Review Conversion names in the Offline Conversions Settings card in Konektor.

"Identifiers or iOS URL parameters are too old" / status "Needs attention"

This message is not about iOS. It tells you that the ad click behind the imported event is older than the click-through conversion window of that conversion action.

  • Open Tools → Conversions, select the conversion action, then set the click-through conversion window to 90 days (the maximum).
  • Rows whose click already passed 90 days stay out of the CSV. Google cannot accept them at all.
  • Keep the schedule Daily, so each deal reaches Google before its click ages out.
  • The status flags the rejected rows only. Conversions that Google already recorded stay valid.

Delay

Google Ads recommends waiting 6 hours after a scheduled upload before data appears in conversion reports.

Next steps

Official Google References

Need More Help?

Our team is ready to help you maximize ad tracking and business attribution.

Wulan answers your questions and sends tutorial videos. Session scheduling is available through Wulan if you still need it.

© 2026 Konektor. All rights reserved.