tr Skip to content
Black Friday FlowMattic for life, 12 payments of $33.25 Or $399 once. Nothing added for splitting Ends in --Days --Hrs --Min --Sec See the deal

Connect Optimizely and Google Sheets

Optimizely reports a bounce each time a campaign email fails to reach someone. FlowMattic writes those bounces to a Google Sheet from your own WordPress site, so whoever cleans the mailing list has one place to see which addresses failed, how often, and from which send.

7 triggers 19 actions 6 example workflows 2 ready-made templates Unlimited runs

Try a pairing

When this happens in Optimizely1 trigger

Do this in Google Sheets19 actions

1. TriggerNew Bounce
2. ActionAdd New Row

When Optimizely fires New Bounce, FlowMattic runs Add New Row in Google Sheets with the data from that event.

You build this in the FlowMattic workflow builder on your own site. See the setup steps

Optimizely and Google Sheets workflows you can build

Each one uses only triggers and actions the two integrations ship today, plus FlowMattic's own tools. Where the library has a ready-made template, import it instead of building from scratch.

Optimizely app icon Google Sheets app icon Ready-made template

Log every new Optimizely bounce as a sheet row

Each bounce becomes a dated row, giving the person who looks after list hygiene a running record to review before the next campaign goes out.

New BounceAdd New Row

View the template
Optimizely app icon Google Sheets app icon

Keep one row per address and update repeat bounces

Search the email column first. A Router updates the last-bounce date of an address already listed and adds a row only for a new one, so the sheet doubles as a suppression list.

New BounceLookup Row DataRouterUpdate Row

Optimizely app icon Google Sheets app icon

Lowercase and trim addresses before they are written

The same address typed with capitals or a trailing space would otherwise appear twice. Text Formatter tidies it so lookups and later list imports match.

New BounceText FormatterAdd New Row

Optimizely app icon Google Sheets app icon

Send permanent and temporary failures to separate tabs

A Router reads the reason that comes with the bounce, so addresses that will never work land on a removal tab and full inboxes land on a watch tab.

New BounceRouterAdd New Row

Optimizely app icon Google Sheets app icon

Ask a person before a bounced address is removed

The row is written first, then Human in the Loop asks your list owner to confirm. Their answer is saved back to the row as Remove or Keep.

New BounceAdd New RowHuman in the LoopUpdate Row

Optimizely app icon Google Sheets app icon

File bounces under the month they happened

Date/Time Formatter turns the bounce time into a month name used as the tab, so each month's deliverability review starts from its own short list.

New BounceDate/Time FormatterAdd New Row

Set up: a row for every bounce

When you finish, each new bounce Optimizely reports is added as a row in your bounce log.

  1. Make the bounce log

    Create a sheet with a header row such as Email, Reason, Campaign and Bounced at.

  2. Connect Google Sheets

    Under Connects, add a Google Sheets account that has edit access to that spreadsheet.

  3. Start with New Bounce

    Create a workflow, choose Optimizely and the New Bounce trigger, and complete the connection the trigger step asks for.

  4. Capture a test bounce

    Send to an address you know will fail, or wait for a real bounce, so FlowMattic has sample data to map.

  5. Add the row

    Add Google Sheets Add New Row, map the bounce fields to your columns, test the step and switch the workflow on.

Import the ready-made template Beginner, about 5 min to set up
Log every new Optimizely bounce as a sheet row Template
  1. Optimizely app icon 1. Trigger in Optimizely New Bounce
  2. Google Sheets app icon 2. Action in Google Sheets Add New Row

    Fields mapped from the earlier steps (a typical setup)

    From OptimizelyTo Google Sheets
    Email addressEmail
    Bounce reasonReason
    CampaignCampaign
    Bounce timeBounced at
Built on the FlowMattic canvas. Test each step with real data, then switch the workflow on.

Triggers and actions in this pair

A trigger starts a workflow. An action is something FlowMattic does in the app as a step.

Good to know

  • Every workflow on this page starts from New Bounce. Editing or deleting a row in the sheet does not change the contact in Optimizely.
  • The fields a bounce carries depend on your campaign setup, so the mapping is an example. Check the captured test data before you build a Router on the reason.
  • Lookups match text exactly. Format the address with Text Formatter in every workflow that writes or searches the email column.
Optimizely app icon

Optimizely

Integration page

Triggers (1)

  • New BounceTriggers when a new bounce event has been created.
Google Sheets app icon

Google Sheets

Integration page

Triggers (6)

  • New Spreadsheet RowTrigger when a new row is added to the spreadsheet
  • New Or Updated Spreadsheet RowTrigger when a row is updated in the spreadsheet
  • Deleted Spreadsheet RowTrigger when a row is deleted from the spreadsheet
  • Update Cell DataTrigger when any cell is updated in the spreadsheet
  • Update Specific Cell DataTrigger when a specific cell is updated in the spreadsheet
  • Update Specific Column ValueTrigger when a specific column value is updated in the spreadsheet

Actions (19)

  • Add New RowAdd a new row with mapped data
  • Update RowUpdate existing row in specific spreadsheet with mapped data
  • Delete RowDelete row by ID in specific spreadsheet
  • Clear Row DataClear data or row by ID in specific spreadsheet
  • Lookup Row DataSearch for data in specific spreadsheet
  • Get Cell DataGet data for particular cell in specific spreadsheet
  • Update Cell DataUpdate data for particular cell in specific spreadsheet
  • Get Row CountGet total number of rows in specific spreadsheet
  • Get Row DataGet rows data from the sheet based on specified range
  • Create Spreadsheet ColumnCreate a new column in specific spreadsheet
  • Create New SheetCreate a new sheet in specific spreadsheet
  • Import CSV or JSON to Existing SheetImport CSV or JSON data to existing sheet in specific spreadsheet
  • Copy SheetCopy a sheet to another or within the same spreadsheet
  • Get RowsRetrieve rows in JSON format for use with Iterator
  • Export sheet to CSVExport the selected sheet to CSV format and save to WordPress Media Library
  • Export Sheet to ExcelExport the spreadsheet to Excel (.xlsx) format and save to WordPress Media Library
  • Export Sheet to PDFExport the spreadsheet to PDF format and save to WordPress Media Library
  • Export Sheet to OpenDocumentExport the spreadsheet to OpenDocument (.ods) format and save to WordPress Media Library
  • Export Sheet to TSVExport the selected sheet to TSV format and save to WordPress Media Library

Why run this pair with FlowMattic

Optimizely and Google Sheets connect through FlowMattic on your own site, with no separate automation account in the middle and no charge per run.

Bounce data stays with you

Addresses that failed pass from Optimizely through your WordPress server to your sheet, without a third automation account holding a copy.

A large send costs the same

Runs are unlimited, so a campaign that bounces hundreds of addresses needs no bigger plan than one that bounces two.

Cleanup without another login

Whoever maintains your lists can work from the shared sheet without needing access to Optimizely itself.

Common questions

How do I send Optimizely bounces to Google Sheets?

Create a workflow with the Optimizely New Bounce trigger, then add Google Sheets Add New Row and map the address, reason and time to columns. Test it with a real bounce and switch it on.

Can I stop the same address appearing in the sheet many times?

Yes. Search the email column with Lookup Row Data, then use a Router: update the existing row when the address is found and add a new row only when it is not.

Can the sheet remove bounced contacts from Optimizely?

Not from these workflows, which read bounces and write rows. Use the sheet as the list you work from when cleaning contacts, or save it with Export sheet to CSV for an import.

Can each month's bounces go on their own tab?

Yes. Format the bounce time as month and year with Date/Time Formatter and use the result as the sheet name in Add New Row. Create the month's tab ahead of time so the step has somewhere to write.

Did not find your answer? You can browse the help center or ask us directly.

Start automating Optimizely and Google Sheets

Install FlowMattic, connect both accounts and import a template. Every run stays on your own server.

30-day money-back guarantee Unlimited workflows and runs Self-hosted

Reviewed 27 Oct 2026. The example workflows are written with AI from the real triggers and actions of both integrations and checked against them. Optimizely integration 1.0.0, Google Sheets integration 2.2.4.