Part 1: Merging Concepts and Best Practices

Overview

There are situations where you have the same data or a similar record concept in both Google Sheets and Notion. In such cases, you may want to set up a sync without creating duplicates — for example, when you have a row in Google Sheets for a project and a corresponding page or row in Notion for the same project.

Or perhaps you’ve already set up your sync but ended up creating the same records across your integration for the same reason. In this tutorial, you’ll learn how to merge those records so that no duplicates are created.

Note: Addsync’s merge feature works for both newly created sync setups and newly added records within an existing sync connection. If duplicate records already exist/ created after a complete sync, the merge feature cannot resolve them — you will need to manually delete those duplicates.

This guide explains:

  • What Notion field types are supported

  • How to handle date fields safely

  • How merging works

  • Practical steps for testing before syncing live data


🧩 Supported Notion Fields

When you connect your Notion database with Addsync.io, not every Notion property type can currently be merged. Here’s the list of supported field types:

Supported Notion Field Types
Description

title

Used as your main identifier column, often the page name

rich_text

Regular text content from Notion

number

Numeric values like prices, scores, etc.

email

Email address fields

phone_number

Contact number fields

url

Web links or references

unique_id

A unique identifier you create (strongly recommended for merging)

page_url

The full URL of the Notion page

page_id

The unique Notion page ID

formula

Computed or formatted values

💡 Note: For Notion Tables Block, only the rich_text property type is supported. Any other type you add (like number, email, etc.) is handled as rich_text during sync.


⚠️ Notion Date Field – Important Handling

Addsync.io does not support Notion’s native Date fields directly for merging.

To work around this, create a Formula field in Notion that converts your date into a text format.

In Notion:

formatDate(prop("Your Date Field"), "YYYY-MM-DD HH:mm:ss")

In Google Sheets:

=TEXT(C2, "yyyy-mm-dd hh:mm:ss")

(Assuming your date is in cell C2)

This ensures both Notion and Sheets have the same readable text version of the date, which leads to smooth and error-free merges.


🔍 Understanding Merging Logic

Think of Addsync.io as a smart assistant comparing two tables — one from Notion and one from Sheets — and finding how they fit together.

1

Match rows with one unique field

Have one unique field that can be used to match rows between Notion and Sheets.

  • Example: An email address, order ID, or unique name.

2

Update when the unique field matches

If the value in that unique field is the same in both Notion and Sheet, Addsync.io will update the record (no duplicate).

3

Create when the unique field is missing

If the unique field value does not exist in the other location, Addsync.io will create a new row or page, depending on your sync direction. Since there’s no matching value, Addsync.io treats it as a new record.

For example, if you’re syncing data in one direction—say, from Google Sheets to a Notion database—and a unique field in Google Sheets doesn’t match anything in Notion, Addsync.io will automatically create a new page in Notion for that row.

This logic helps you avoid duplicates and keeps your information aligned — as long as you have one unique identifier that both sides recognize.


🧪 Always Test Before Syncing Live

Before you merge real or critical data, don’t sync on your live databases immediately!

1

Duplicate your Notion database

In Notion → Click the six doted icon → Duplicate with content .

2

Duplicate your Google Sheet

File → Make a copy.

3

Do your first sync between these duplicates

Verify the behavior, merging logic, and field handling.

4

Apply to live data only after verification

Once you verify it works as expected, apply the same setup to your live data.

⚠️ Failing to test can lead to:

  • Duplicate pages or rows

  • Overwriting correct data with mismatched records

  • Losing your original organization structure


🧠 Example: How Merging Works

Let’s look at an example so you can visualize what happens.

Sheet A – Google Sheets data

ID
Name
Email
Score

1

Alice

alice@example.com

92

2

Bob

bob@example.com

87

Table B – Notion Database data

ID
Name
Email
Score

1

Alice

alice@example.com

95

3

Charlie

charlie@example.com

78

Unique Field: ID

What happens on merge (depending on sync direction):

  • The ID 1 record updates because the ID exists in both sources.

  • ID 2 from Sheets creates a new Notion page if missing.

  • ID 3 from Notion creates a new Sheet row if missing.

Result: No duplicates for the same ID, and all new data gets added where needed.


✅ Summary

Feature
Supported

Merge Notion ↔ Google Sheets

Supported Fields

number, title, email, url, phone_number, rich_text, unique_id, page_url, page_id, formula

Native Notion Date Field

❌ Not directly supported

Workaround

Use formatDate() in Notion Formula & TEXT() in Sheets

Safe Testing

Always duplicate before syncing


🚀 Best Practices

  • Always define one unique field between Notion and Sheets.

  • Convert Date fields to formatted text before syncing.

  • Always test on copies before live sync.

  • Check column names carefully — they must match exactly.


Addsync.io makes your cross‑platform data management simpler and smarter — just remember: One unique field + formatted data + safe testing = Perfect sync!

Last updated