Connect Google Sheets to Mailjet with a webhook

Mailjet already knows when a subscriber opens a campaign, clicks a link, or bounces. Its Event API can push each of those moments to a URL the instant it happens, which is exactly what a webhook is for. Point that webhook at an automation that appends a row to Google Sheets, and you get a live event log you can sort, pivot, and chart without exporting a single CSV. The same connection runs the other way too: a new row in your sheet can create a Mailjet contact through the API. This guide covers the webhook direction, since that is the part most people get stuck on, and it works the same whether you build it on Make.com, n8n, or Zapier.

What does connecting Google Sheets to Mailjet with a webhook actually do?

It turns Mailjet's real-time events into spreadsheet rows. When you enable event tracking in Mailjet and give it a webhook URL, Mailjet sends a small JSON payload to that URL for every open, click, bounce, spam complaint, blocked send, or unsubscribe. Your automation receives the payload, reads the fields you care about (the recipient email, the event type, the timestamp, and the campaign or message ID), and writes them to the next empty row in your sheet. Nothing is polled and nothing is on a schedule, so the row appears within a second or two of the event itself. Because it is a plain webhook, you are not limited to one tool: the same payload can fan out to Slack or your CRM in the same run.

Apps used:MailjetGoogle Sheets

How do you connect Google Sheets to Mailjet with a webhook?

  1. 1

    In Make.com, n8n, or Zapier, start a new scenario with a webhook trigger and copy the unique URL it generates. This is the address Mailjet will post events to.

  2. 2

    In Mailjet, open Account settings, then Event notifications (the Event API). Paste your webhook URL, tick the event types you want such as open, click, and bounce, and save. Mailjet sends a test payload you can use to map fields.

  3. 3

    Back in your automation, run the trigger once so it captures a sample. Identify the fields you need: email, event, time, MessageID, and CampaignID are the common ones.

  4. 4

    Add a Google Sheets 'Add a row' action, connect your Google account, choose the spreadsheet and tab, and map each Mailjet field to a column. Add a column for the event type so you can filter opens from bounces later.

  5. 5

    Send yourself a test campaign or trigger a click, confirm a new row lands in the sheet with the right values, then turn the scenario on so it runs on every event.

Skip the build, get the ready-made template

An import-ready file with a setup guide, live in about fifteen minutes.

Get the Mailjet to Google Sheets template

What can you build once the events land in a sheet?

A live deliverability log

Every bounce and blocked send writes to a sheet the moment it happens, so you can spot a bad list or a broken send before it hurts your sender reputation.

Campaign reporting without exports

Opens and clicks stream into a tab that feeds a Looker Studio dashboard, so your weekly numbers refresh on their own instead of through a manual CSV download.

An unsubscribe audit trail

Unsubscribe events log with a timestamp and campaign ID, giving you a dated record for compliance that you can search in seconds.

The result you get

A hands-off event feed from Mailjet into Google Sheets: opens, clicks, and bounces become sortable, timestamped rows you can report on, instead of numbers locked inside Mailjet's dashboard.

Related integrations

Questions about the Mailjet webhook to Google Sheets setup

Where do I set the webhook in Mailjet?

In Mailjet, go to Account settings and open Event notifications, sometimes called the Event API. You paste your automation's webhook URL there and choose which event types to send. Mailjet posts a sample payload right away so you can map the fields.

Which events can Mailjet send?

Sent, open, click, bounce, blocked, spam complaint, and unsubscribe. You pick the ones you want, so a reporting sheet can capture opens and clicks while a separate log tracks only bounces and blocks.

Do I need to write any code or Apps Script?

No. The webhook trigger and the Google Sheets action are both built in Make.com, n8n, or Zapier. Mailjet handles the sending side, and the automation handles the receiving and writing side.

Can it also push new rows into Mailjet as contacts?

Yes. The reverse flow uses your Mailjet API key and secret to add a contact to a list when a new row appears. The ready-made template covers both directions if you want the full sync.