Oxygen 6.0 Is Now Live

Oxygen 6.0 Is Now Live

Learn More

Three Ways to Import Google Sheets to WordPress
By
Published on February 13, 2026

Three Ways to Import Google Sheets to WordPress

Google Sheets is where many businesses organize their data, but moving that information into WordPress often creates a bottleneck. Manual data entry is slow and prone to errors. 

In this article, I’ll test multiple methods to help you automate the process of importing Google Sheets to WordPress.

Table of Contents

Many site owners prefer managing data in Google Sheets because it’s faster and more flexible than the WordPress dashboard. You might use a spreadsheet to collaborate with your team on product inventory, real estate listings, or an editorial calendar.

Importing this data to WordPress allows you to make use of the best of both worlds. You get the ease of editing in Google Sheets and the public visibility of WordPress. This approach is particularly helpful for WooCommerce stores that need to sync stock levels or directories that require frequent updates without manual data entry.

Method 1: Using WP All Import to Import Google Sheets to WordPress (Recommended)

If you want a reliable way to move Google Sheet data into WordPress without writing code or paying per import, using a dedicated data import plugin is the most practical choice. 

This approach gives you full control over how your data maps to WordPress fields while handling the technical heavy lifting behind the scenes.

Why WP All Import is the Best Google Sheets to WordPress Import Plugin

WP All Import stands out because it is built specifically for WordPress data import. Unlike automation tools that charge you for every single row you process, this plugin handles bulk import with a flat license fee.

wp all import Google Sheets to WordPress

It also offers direct integrations with various plugins, whether you want to import WooCommerce products with variations or fill Advanced Custom Fields with gallery images. The visual drag-and-drop interface means you can set up an import in minutes rather than hours.

Here are some key features that make it particularly good for Google Sheets workflows:

  • You can map spreadsheet columns to WordPress fields by simply dragging and dropping them into place.
  • It supports complex data structures such as WooCommerce product variations, serialized metadata, and Advanced Custom Fields without requiring extra scripting.
  • The unique identifier system intelligently prevents duplicate entries and updates existing records automatically.
  • It comes with a built in scheduling options to allow you to automate imports on an hourly, daily, or weekly basis.
  • The import process handles errors by logging problematic rows for your review while continuing to process all valid data.

Now that you have a good idea about WP All Import, I’ll share how to connect your Google Sheet and configure the data transfer.

Step 1: Connect Your Google Sheet to WP All Import

Start by preparing your Google Sheet for import. For this, click the Share button in the top right corner of your spreadsheet and change the access settings to Anyone with the link. Copy this URL to your clipboard and keep it handy as you’ll need it in the next steps.

share Google with Anyone with the link permission

If your Google Sheets has multiple tabs, you can navigate to File > Share > Publish to the web instead. Choose your specific sheet and select CSV format to generate a direct link to that tab alone.

After you have the Google Sheets link ready, go to your WordPress dashboard and navigate to All Imports > New Import. Select Download a file and choose From URL. Paste your Google Sheets link into the provided field. Next, select your target content type from the dropdown. This could be standard posts, pages, WooCommerce products, users, or any custom post type created on your site. 

Wp All Import enter your Google Sheets URL and select the post type

Once you’re ready, click Set Up Import, and the plugin will fetch your data and display a preview of your columns to confirm the connection is working.

preview the data to be imported using WP All Import

Step 2: Drag and Drop to Map Sheet Columns to WordPress Fields

The Drag & Drop screen is where you tell WP All Import how to interpret your spreadsheet data. You will see your Google Sheets column headers listed on the right side of the interface. On the left, you will find all the available WordPress fields for your selected content type.

drag and drop screen of WP All Import

To map a field, you simply drag a column header from the right and drop it into the corresponding field area on the left. For example, you can drag your Title column into the Product Title box and your description column into the Product Description editor. 

drag and drop fields from your Google Sheets into the WP All Import editor

For images, you need to ensure your Google Sheet contains the full URLs to your image files in a dedicated column. Once you drag this column into the image section, WP All Import will download these images to your Media Library during the import process. If you are importing to WooCommerce or using Advanced Custom Fields, you will see dedicated sections for prices, stock quantities, SKU fields, and repeater fields. Simply drag your spreadsheet columns into these specialized boxes.

You can also clean or transform your data during this step. Click the small pencil icon next to any mapped field to open the function editor. Here you can trim whitespace, combine multiple columns, or run PHP functions to format your data exactly how you need it before it enters your database.

Once you have mapped all the columns, click Continue to Import Settings to move to the next step.

Step 3: Configure Unique Identifiers for Synchronization

In the next step, you’ll set how WP All Import will recognize individual records. This is crucial to prevent duplicates when you run the import again in the future. 

WP All Import can auto-detect a unique identifier by scanning your columns for distinctive values like IDs or SKUs. Alternatively, you can manually drag and drop which column to use. Choose a column that contains values that never change and are unique to each row, such as product SKUs, email addresses, or specific ID numbers.

set unique identifier for Google Sheets to WordPress import

Step 4: Schedule Automatic Updates

Static imports are useful, but most businesses need their WordPress site to stay synchronized with changing spreadsheet data. WP All Import comes with scheduling options to automatically update website data based on changes in the Google Sheets.

You have two methods available here. The Automatic Scheduling Service allows you to configure the frequency directly within the plugin interface using simple dropdown menus for hours, days, or weeks. Alternatively, you can set up manual cron jobs on your server, which requires a bit of technical know-how.

For the purpose of this article, I’ll show an example using the Automatic Scheduling Service. Set your desired frequency based on how often your source data changes. For inventory updates, you might choose hourly. For blog content or directory listings, daily or weekly usually works well. 

automatic scheduling Google Sheets to wordpress import

Once configured, WP All Import will check your Google Sheet at these intervals and apply your update rules automatically. Remember that the schedule runs independently of your manual edits to the sheet, so changes will not appear instantly but rather at the next scheduled interval.

Method 2: Using a Custom PHP Code to Import Google Sheets to WordPress

For developers who prefer complete control over their data, writing a custom PHP code offers an alternative to plugin solutions. This method requires you to convert your Google Sheets to a JSON feed and uses WordPress core functions to insert content programmatically.

Step 1: Convert Google Sheets to JSON Code

Before you can run your code, you need to prepare your spreadsheet data in JSON format. You can do this using the Google Sheets API, but for this article, I’ll share a simple method.

We’ll use OpenSheet, which doesn’t require API keys and is free to use. This service eliminates authentication headaches and converts your data immediately. Here’s how to convert your Google Sheet to JSON format:

  1. Make your Google Sheet accessible by clicking Share and selecting Anyone with the link.
  2. Copy the spreadsheet ID from your URL, which appears between the /d/ and /edit segments.
share Google with Anyone with the link permission
  1. In a new tab, type in the URL https://opensheet.elk.sh/YOUR_SHEET_ID/1 and replace YOUR_SHEET_ID with your actual sheet ID. The number 1 at the end refers to the first sheet tab, and you can change it to other tabs based on which tab content you want to import.

When you visit the URL, you’ll see your spreadsheet content as structured JSON.

Google sheets in JSON format

Step 2: Create and Run Your Import Script

Managing custom PHP safely requires a reliable way to write, test, and execute snippets without risking your site functionality. While you can directly edit your website files, WPCodeBox provides a safe environment for running code with a built-in editor.

wpcodebox plugin for code snippet

Unlike adding code to your theme files, this prevents syntax errors from breaking your front end and lets you trigger imports manually only when needed.

After installing the plugin, navigate to WPCodeBox 2 to create a new snippet. Set the Language to PHP and select Manual (On Demand) as the execution method. This configuration adds a Run button above your editor and gives you complete control over when the import executes, rather than running automatically on page loads.

add Google sheets import to wordpress php code snippet to wpcodebox

As an example, I’ll import the same WooCommerce product data that we used in our previous method. Here’s the PHP code that you can paste into the snippet editor:

<?php
//Testing Mode First (set to false when ready)
$test = true;

//Your OpenSheet JSON URL
$url = 'https://opensheet.elk.sh/YOUR_SHEET_ID/1';

//Convert JSON into PHP Array
$array = json_decode(file_get_contents($url), true);

if($array) { 
  if($test) {  
    //Testing mode - just shows what would be imported
    foreach ($array as $row) {
      echo 'Post Title: ' . $row['title'] . '<br>';  
      echo 'Post Content: ' . $row['content'] . '<br><br>';
    }
  } else { 
    //Live mode - actually creates posts
    foreach ($array as $row) {
      $post_arr = array(
        'post_title' => $row['title'],
        'post_type' => 'post',
        'post_content' => $row['content'],
        'post_status' => 'draft' //Change to 'publish' if you want them live immediately
      );
      wp_insert_post($post_arr, true);
    }
    echo 'Posts imported successfully!';
  }
}
?>

Start by setting a testing variable to true so you can preview the output without creating actual database entries. Click the Run button and review the output displayed directly below the editor.

run the php scrip on test mode

Verify that your titles and content appear correctly.

test mode preview of the spreadsheet data

Once you confirm the data maps properly, change $test to false and run the script again.

run the PHP code to import google sheets to wordpress

Your products will import as drafts initially, allowing you to review them before publishing them on the site.

Google Sheets product data imported to wordpress

This method provides maximum flexibility at zero cost but places full responsibility on you for debugging, security, and maintenance. You must manually prevent duplicates by checking existing titles before insertion, and you will need to adjust the code if your spreadsheet structure changes or if you want to import a different post type.

This approach suits developers who need specific customization, but most users will find that the technical overhead outweighs the benefits of free execution.

Method 3: Using Automation Tools like Zapier to Connect Google Sheets to WordPress

If writing PHP scripts sounds like too much work, automation tools offer a visual alternative. Platforms like Zapier and Make.com offer a beginner-friendly way to connect Google Sheets to WordPress without touching any code. 

These services monitor your spreadsheet and push data to your site automatically whenever specific conditions are met. For this tutorial, I’ll use Zapier to create a workflow that connects Google Sheets to WordPress.

Step1: Configure Triggers and Actions for Imports

Zapier lets you configure everything through a visual interface. You create a workflow called a Zap that links the two apps together.

Start by selecting Google Sheets as your trigger app and choose the New Spreadsheet Row as the trigger event. This fires whenever someone adds data to the bottom of your sheet. Connect your Google account and specify which spreadsheet and worksheet to watch.

Connect Google Sheets as trigger in Zapier

Next, add WordPress as your action app. You will need the Zapier for WordPress plugin installed on your site, along with a dedicated user account for authentication. Select Create Post as the action event.

connect wordpress to zapier

The critical step is mapping your fields. Zapier shows you the column headers from your spreadsheet sample row. Click into each WordPress field, such as Title and Content, and select the corresponding column from your sheet. 

field mapping in Zapier

You can also set static values like post status or author. Once mapped, test the connection to ensure a post appears on your site, then activate the Zap.

Limitations of Zapier for Bulk Imports

While this approach works well for simple workflows, it faces significant constraints when handling large datasets:

  • Each row processed counts as one task toward your monthly quota.
  • Standard triggers only detect new rows added after you activate the Zap.
  • Google Sheets files must remain under 30MB to connect properly.
  • WooCommerce mapping requires you to buy the Zapier for WooCommerce plugin.
  • Complex WordPress fields like WooCommerce variations are difficult to map.
  • Updating existing rows requires separate triggers and creates complex logic.

These restrictions make Zapier less ideal for migrating historical data or syncing large inventories.

Comparison: WP All Import vs Custom PHP vs. Automation Tools 

All three methods can move data from Google Sheets to WordPress, but they serve different user needs and technical comfort levels.

Custom scripts offer total control and zero subscription fees, making them attractive to developers with specific workflow requirements. However, the hidden cost appears in maintenance hours. When Google updates its API or your server configuration changes, you must debug and repair the code yourself. For a one-time import, this might make sense. For ongoing business operations, the technical debt accumulates quickly.

Automation tools like Zapier work when you need simple, real-time connections between a handful of apps. Unfortunately, their pricing model penalizes scale. Importing hundreds of products daily drains your task quota rapidly, and the lack of deep WordPress field support means you will hit walls when dealing with WooCommerce variations or complex custom fields.

WP All Import occupies the middle ground where most businesses actually operate. You gain the reliability of a purpose-built WordPress plugin without the per-row costs of automation platforms. The visual mapping interface eliminates coding errors while handling complex data structures natively. More importantly, the flat licensing fee means your costs remain predictable whether you import ten records or ten thousand.

Common Questions: Importing Google Sheets to WordPress

How to connect WooCommerce to Google Sheets?

  • Step 1: Create a Google Sheet with columns for product names, SKUs, prices, and stock. Set the sheet to “Anyone with the link” sharing.
  • Step 2: Install WP All Import and the WooCommerce Add-On from the WordPress plugin directory.
  • Step 3: Create a new import using your sheet URL, map columns to WooCommerce fields, and run the import to sync your products.

How do I pull data from Google Sheets to WordPress?

  • Step 1: Prepare your spreadsheet with clear headers in row one, then click Share and set access to “Anyone with the link.”
  • Step 2: Install WP All Import from Plugins then Add New in your WordPress dashboard.
  • Step 3: Create a new import, paste your Google Sheets URL, drag columns to match WordPress fields, and execute the import.

How do I export all data from WordPress?

Install WP All Export from the WordPress plugin directory. Go to All Export then New Export, choose your data type such as posts, pages, or users, apply filters if needed, and select your export format. The plugin generates a CSV or XML file containing all your selected WordPress content ready for download or migration.

Further Reading

Oxygen Builder
Updated on: February 13, 2026

The best import export plugin for WordPress & WooCommerce.

Complete, granular control of your data with an easy to use drag & drop interface.
  • 90 Day Money Back Guarantee
  • Unlimited Installs
  • Lifetime Licence
  • Fast, World-Class Support
Get Started

You'll build incredible websites with Oxygen

Get started with Oxygen today and unlock incredible value.

Get Oxygen

30-day money back gurantee

Try Oxygen risk-free. If you’re not satisfied, get a full refund within 30 days.

Unlimited site license

Use Oxygen on as many personal or client projects as you want — no limits.

Fast, world-class support

Our experienced team is eager to assist you with technical questions.

Use on client websites

Build and deliver professional-grade websites for your clients with no extra fees.