---
title: "Google Ads-connector"
description: "Volledige Google Ads-integratiegids voor het synchroniseren van campagnedata, audience-lijsten en conversietracking met Brevo via Tajo."
url: https://tajo.io/nl/docs/connectors/marketing/google-ads/
markdown: https://tajo.io/nl/docs/connectors/marketing/google-ads.md
lang: nl-NL
robots: noindex
---

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

# Google Ads-connector

Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.

| Bronveld | Doelveld | Voorbeeldwaarde |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Verbind Google Ads met Brevo via Tajo om advertentie-audiences te synchroniseren, conversiedata te importeren en uniforme klantprofielen op te bouwen die betaalde acquisitie koppelen aan lifecycle-marketing.

## Overzicht

| Eigenschap | Waarde |
| --- | --- |
| **Platform** | Google Ads |
| **Categorie** | Marketing |
| **Setupcomplexiteit** | Geavanceerd |
| **Officiële integratie** | Nee |
| **Gesynchroniseerde data** | Campagnes, Audiences, Conversies, Klanten |
| **Beschikbare skills** | 7 |

## Functies

- **Customer Match-sync** - Upload Brevo-contactlijsten naar Google Ads als Customer Match-audiences
- **Conversietracking** - Importeer offline conversies uit Brevo-events in Google Ads
- **Audience-sync** - Bidirectionele sync tussen Brevo-lijsten en Google Ads-audiences
- **Campagnerapportage** - Haal campagneprestatiedata op in Tajo-dashboards
- **GCLID-tracking** - Leg Google Click ID’s vast voor offline conversieattributie
- **Smart bidding-data** - Stuur conversiewaarde-data terug naar Google voor bod-optimalisatie
- **Lead form-sync** - Importeer Google Ads-leadforminzendingen in Brevo-contacten

## Vereisten

Voordat je begint, zorg dat je beschikt over:

1. Een Google Ads-account met ingeschakelde API-toegang
2. Een Google Cloud-project met de Google Ads API ingeschakeld
3. OAuth 2.0-inloggegevens (Client ID en Client Secret)
4. Een Google Ads Developer Token (aanvragen via [Google Ads API Center](https://ads.google.com/aw/apicenter))
5. Een Brevo-account met API-toegang
6. Een Tajo-account met API-inloggegevens

## Authenticatie

### OAuth 2.0

De Google Ads API gebruikt OAuth 2.0 voor authenticatie. Je moet een refresh token verkrijgen via de OAuth-consent-flow.

```bash
# Required OAuth scopes
https://www.googleapis.com/auth/adwords
```

### Developer Token

Een Developer Token is vereist voor alle Google Ads API-requests en moet door Google worden goedgekeurd.

```bash
# Set up authentication headers
curl -X POST https://googleads.googleapis.com/v18/customers/1234567890/googleAds:search \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "developer-token: DEVELOPER_TOKEN" \
  -H "login-customer-id: MANAGER_ACCOUNT_ID"
```

## Configuratie

### Basisopzet

```yaml
connectors:
  google_ads:
    enabled: true
    developer_token: "your-developer-token"
    oauth:
      client_id: "your-client-id"
      client_secret: "your-client-secret"
      refresh_token: "your-refresh-token"
    customer_id: "123-456-7890"
    login_customer_id: "111-222-3333"  # Manager account (optional)

    # Data sync options
    sync:
      customer_match: true
      conversions: true
      campaigns: true
      lead_forms: true

    # Conversion tracking
    conversions:
      action_id: "123456789"
      default_currency: "USD"
```

### Customer Match-configuratie

Upload Brevo-contacten als Google Ads-audiences:

```yaml
customer_match:
  enabled: true
  lists:
    - brevo_list_id: 5
      audience_name: "All Customers"
      match_type: "CONTACT_INFO"
    - brevo_list_id: 7
      audience_name: "High Value Customers"
      match_type: "CONTACT_INFO"

  # Data fields to match
  match_fields:
    - email
    - phone
    - first_name
    - last_name
    - country_code
    - zip_code

  # Sync schedule
  schedule: "daily"
  sync_mode: "mirror"  # mirror, append, or remove
```

### Offline conversie-import

```yaml
conversion_import:
  enabled: true
  conversion_action: "purchase"
  gclid_attribute: "GCLID"  # Brevo attribute storing GCLID
  conversion_events:
    - brevo_event: "order_completed"
      conversion_name: "Purchase"
      value_field: "revenue"
    - brevo_event: "subscription_created"
      conversion_name: "Subscription"
      value_field: "plan_value"
```

## API-endpoints

| Methode | Endpoint | Beschrijving |
| --- | --- | --- |
| `POST` | `/v18/customers/{id}/googleAds:search` | Campagnes en resources doorzoeken (GAQL) |
| `POST` | `/v18/customers/{id}/googleAds:searchStream` | Zoekresultaten streamen |
| `POST` | `/v18/customers/{id}/offlineUserDataJobs:create` | Customer Match-upload-job aanmaken |
| `POST` | `/v18/customers/{id}/conversionUploads:uploadClickConversions` | Offline conversies uploaden |
| `POST` | `/v18/customers/{id}/conversionUploads:uploadCallConversions` | Call-conversies uploaden |
| `GET` | `/v18/customers/{id}/campaignBudgets` | Campagnebudgetten ophalen |
| `POST` | `/v18/customers/{id}/customerLists:mutate` | Customer lists beheren |

## Codevoorbeelden

### Google Ads-connector initialiseren

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Google Ads account
await tajo.connectors.connect('google-ads', {
  developerToken: process.env.GOOGLE_ADS_DEV_TOKEN,
  clientId: process.env.GOOGLE_OAUTH_CLIENT_ID,
  clientSecret: process.env.GOOGLE_OAUTH_CLIENT_SECRET,
  refreshToken: process.env.GOOGLE_OAUTH_REFRESH_TOKEN,
  customerId: '123-456-7890'
});
```

### Customer Match-audience uploaden

```javascript
// Sync a Brevo list to Google Ads Customer Match
await tajo.connectors.syncAudience('google-ads', {
  brevoListId: 5,
  audienceName: 'High Value Customers',
  matchType: 'CONTACT_INFO',
  syncMode: 'mirror'
});
```

### Offline conversies importeren

```javascript
// Upload offline conversions from Brevo order events
await tajo.connectors.uploadConversions('google-ads', {
  conversionAction: 'customers/123456/conversionActions/789',
  conversions: [
    {
      gclid: 'CjwKCAiA...',
      conversionDateTime: '2024-01-15 10:30:00-05:00',
      conversionValue: 89.99,
      currencyCode: 'USD'
    }
  ]
});
```

### Campagneprestaties opvragen (GAQL)

```javascript
// Query campaign metrics using Google Ads Query Language
const query = `
  SELECT
    campaign.name,
    campaign.status,
    metrics.impressions,
    metrics.clicks,
    metrics.cost_micros,
    metrics.conversions
  FROM campaign
  WHERE segments.date DURING LAST_30_DAYS
  ORDER BY metrics.impressions DESC
  LIMIT 20
`;

const results = await tajo.connectors.query('google-ads', { gaql: query });
```

## Ratelimits

| Resource | Limiet | Details |
| --- | --- | --- |
| **API-requests** | 15.000/dag | Per developer token |
| **Mutate-operaties** | 10.000/dag | Per customer account |
| **GAQL-queries** | 1.500/dag | Per customer account |
| **Customer Match-uploads** | 10 jobs/dag | Per customer list |
| **Conversie-uploads** | 2.000/request | Per upload-batch |
| **Page size** | 10.000 rijen | Max per search-response |

Goedkeuring Developer Token

De Google Ads API vereist een goedgekeurd Developer Token. Vraag deze aan via het Google Ads API Center in je Manager-account. Testaccounts hebben verlaagde ratelimits.

## Probleemoplossing

| Probleem | Oorzaak | Oplossing |
| --- | --- | --- |
| `DEVELOPER_TOKEN_NOT_APPROVED` | Token in review | Wacht op Google-goedkeuring of gebruik een testaccount |
| `CUSTOMER_NOT_FOUND` | Verkeerde customer ID | Verwijder streepjes uit de customer ID of controleer manager account |
| Customer Match lage matchrate | Onvoldoende data | Neem meerdere identifiers op (e-mail, telefoon, naam, postcode) |
| Conversies verschijnen niet | Attributievenster | Conversies kunnen tot 24 uur duren om te verwerken |
| `OAUTH_TOKEN_EXPIRED` | Refresh token ongeldig | Authenticeer opnieuw en verkrijg een nieuwe refresh token |
| `PERMISSION_DENIED` | Onvoldoende toegang | Controleer API-toegangsniveau en accountkoppeling |

## Best practices

1. **Gebruik een Manager-account** - Beheer meerdere Ads-accounts via één Manager (MCC)-account
2. **Hash Customer Match-data** - Hash PII altijd met SHA-256 vóór het uploaden naar Customer Match
3. **Track GCLID’s** - Sla Google Click ID’s op in Brevo-attributen voor offline conversietracking
4. **Batch conversie-uploads** - Groepeer conversies in dagelijkse batches in plaats van realtime-uploads
5. **Gebruik GAQL voor rapportage** - Maak gebruik van Google Ads Query Language voor flexibele campagnerapportage
6. **Monitor matchrates** - Volg matchrates van Customer Match-audiences en verbeter de datakwaliteit
7. **Stel Enhanced Conversions in** - Gebruik Enhanced Conversions voor nauwkeurigere conversiemeting

## Beveiliging

- **OAuth 2.0** - Veilige tokengebaseerde authenticatie met refresh tokens
- **SHA-256-hashing** - Customer Match-data wordt gehasht vóór upload
- **Dataminimalisatie** - Alleen vereiste velden worden naar Google verzonden
- **Google Cloud-compliance** - SOC 2-, ISO 27001- en AVG-compliant
- **Gescopede toegang** - API-rechten gescope op specifieke customer accounts
- **Audit-logging** - Alle API-requests gelogd in de Google Ads-wijzigingshistorie

## Gerelateerde resources

- [Meta Ads-connector](https://tajo.io/nl/docs/connectors/marketing/meta-ads)
- [Klaviyo-connector](https://tajo.io/nl/docs/connectors/marketing/klaviyo)
- [Brevo-connector](https://tajo.io/nl/docs/connectors/marketing/brevo)
- [Customer Sync-skill](https://tajo.io/nl/docs/skills/data-sync/customer-sync)
