> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/files-and-tables/gdrive/best-practices.md).

# Google Drive Best Practices

Use direct file URLs for consistency, clean source data before importing, and set refresh schedules to keep Google Drive syncs accurate.

## Recommended setup

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Use direct file URLs for consistency</strong></td><td>Always paste the full file URL instead of relying on the file picker. This makes it easier to track which file you're importing and reduces confusion if file names are similar. Bookmark the URL in a doc for reference.</td></tr><tr><td><strong>Clean your source file before importing</strong></td><td>Remove empty rows, extra headers, and trailing data in the source file. This ensures your import is clean and prevents misaligned columns or skipped rows in the destination.</td></tr><tr><td><strong>Use specific ranges for large files</strong></td><td>If your sheet has 1000+ rows, specify a range (e.g., `A1:Z500`) instead of importing the entire sheet. This speeds up the import and avoids unnecessary blank rows at the end.</td></tr><tr><td><strong>Consolidate multiple sheets with Append</strong></td><td>If you're importing from multiple sheet tabs, use Coupler.io's Append transformation to combine them into one table instead of creating separate data flows for each sheet.</td></tr></tbody></table>

## Data refresh and scheduling

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Start with hourly or daily refreshes</strong></td><td>Don't schedule more frequent than necessary. Most use cases work well with hourly or daily updates. This reduces API quota stress and keeps your destination file stable.</td></tr><tr><td><strong>Stagger schedules if you have multiple flows</strong></td><td>If you have 5+ data flows using Google Drive, spread their schedules across different hours. Running all at once can trigger quota limits. Offset each by 10-15 minutes.</td></tr><tr><td><strong>Test with a manual run first</strong></td><td>Always run your data flow manually once before scheduling. This confirms the setup works and lets you catch errors before they repeat on schedule.</td></tr></tbody></table>

## Performance optimization

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Limit columns in your range</strong></td><td>If your sheet has 50 columns but you only need 20, specify the range as `A1:T1000` instead of `A1:Z1000`. Smaller ranges import faster and use less memory.</td></tr><tr><td><strong>Move to BigQuery for very large datasets</strong></td><td>If you're importing 100k+ rows regularly, consider BigQuery as a destination instead of Google Sheets. BigQuery handles large datasets much faster and reliably.</td></tr></tbody></table>

## Common pitfalls

{% hint style="danger" %}
**Don't re-upload the same file with a new name expecting Coupler.io to find it automatically.** When you upload a file to Google Drive, even with the same name, it gets a new file ID. Your data flow will still point to the old file. Always update the file URL in your settings if you replace the source file.
{% endhint %}

{% hint style="danger" %}
**Don't try to import XML files or unsupported formats.** Coupler.io only supports Google Sheets, .csv, .xlsx, and .xlsm. Attempting to import other formats will result in "file not found" errors.
{% endhint %}

{% columns %}
{% column %}
**Do**

* Share the source file explicitly with your Google account email
* Use UTF-8 encoding for CSV and Excel files
* Consolidate multiple sources into one data flow using Append or Join
* Schedule different data flows at staggered times
* Test manually before enabling schedules
  {% endcolumn %}

{% column %}
**Don't**

* Use public links instead of explicit sharing
* Import files with unknown or non-UTF-8 encodings
* Create a separate data flow for each sheet (use Append instead)
* Run all data flows at the exact same time
* Assume a renamed file will still work (it won't—update the URL)
  {% endcolumn %}
  {% endcolumns %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.coupler.io/sources/category/files-and-tables/gdrive/best-practices.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
