New Announcing Local SEO Heatmaps

Bulk Post Publishing

Create and schedule Google Posts across all locations from one interface.

Bulk Post Publishing lets you create and schedule Google Posts across multiple locations at once. Instead of composing posts one location at a time, you select all the target listings, write the post once, and publish or schedule it in a single action. For spreadsheet-based workflows, you can also upload a CSV to schedule posts in bulk. This page is part of the Localith Google Posts scheduling tool.

Google Business Profile publishing interface with post composer

Overview

When you manage dozens or hundreds of locations, publishing the same update to each profile individually is not practical. Bulk post publishing solves this with two paths: the visual post composer for creating one post and pushing it to many locations, and CSV upload for scheduling a large batch of posts with different content per location.

Both paths support updates. CSV upload currently supports updates only, while the visual composer also supports offers and events.

Before you start

Before publishing in bulk, make sure:

  • your Google Business Profiles are connected in Localith
  • you know which locations should receive the post
  • you have decided the post type: update, offer, or event
  • any images you plan to include are ready (JPEG or PNG, minimum 400x300 pixels, up to 5 MB for the composer or publicly accessible URLs for CSV)
  • if using Smart Parameters, you know which dynamic variables you want to insert

If you need to publish photos rather than posts, use Photo Publishing.

Visual post composer

This is the standard path for creating a post and pushing it to selected locations.

Step-by-step

  1. Open Publishing from the left sidebar.
  2. Click Create post.
  3. Post to... — select which locations should receive the post. Click Edit to change the selection. You can search by name, address, group, or tag, and select individual locations or click Select all.
  4. Post details — choose the post type: Update, Offer, or Event.
  5. Write the Post description. Use Smart Parameters like {{name}}, {{phone}}, {{website}}, {{city}}, {{country}}, and {{street}} to make the description dynamic per location. Click Brainstorm with AI to generate post ideas.
  6. Upload image (optional) — add a JPEG or PNG image, up to 5 MB, minimum 400x300 pixels. A live preview appears on the right side showing how the post will look.
  7. Button (optional) — add a call-to-action button to the post.
  8. Click Next to proceed to scheduling.
  9. Schedule post — choose to Publish now or Schedule for later. If scheduling, select the date and time.
  10. Optionally set an expiration date to automatically delete the post after a certain period.
  11. Confirm and publish or schedule the post.

Post composer showing location selector, post type tabs, description field with Smart Parameters, and live preview

Google Post composer with location selector and scheduling options

Post types

  • Update — general informational posts about your business, promotions, or news
  • Offer — promotional content with discount details, coupon codes, or special deals
  • Event — time-sensitive announcements with start and end dates

Smart Parameters

Smart Parameters let one post template adapt automatically per location. Instead of writing a unique description for every listing, insert variables that Localith fills in with each location's actual data:

  • {{name}} — business name
  • {{phone}} — phone number
  • {{website}} — website URL
  • {{city}} — city name
  • {{country}} — country name
  • {{street}} — street address

For more details, see Smart Parameters.

Brainstorm with AI

Click the Brainstorm with AI button inside the post description field to generate post ideas. The AI considers your business category and location data to suggest relevant content angles.

For deeper AI content planning, see AI Content Planning and AI Post Generation.

Live preview

As you compose the post, a preview on the right side shows how it will appear on Google. Use this to check formatting, image display, and CTA placement before publishing.

Draft management

If you are not ready to publish, save the post as a draft. Drafts are stored in the Publishing section where you can reopen and edit them later via Edit post.

Auto-deletion

Posts support expiration dates. Set an expiration to automatically remove old posts after a timeframe — useful for offers that should not stay visible past a promotion period, or events that have ended.

CSV upload

For large-scale scheduling with different content per location, use the CSV upload workflow.

Step-by-step

  1. Open Publishing from the left sidebar.
  2. Click Plan content in the top-right area.
  3. Select Upload CSV file.
  4. Prepare your CSV file using the required template structure (see below).
  5. Upload the file.
  6. Review the validation results — Localith checks each row for errors.
  7. Fix any validation errors and re-upload if needed.
  8. Click Schedule posts to queue all valid rows for publishing.

CSV bulk upload workflow showing the plan content button and file upload interface

Upload a CSV file to schedule posts across multiple locations at once

CSV template columns

ColumnRequiredDescription
location_nameYesExact name of the connected Google Business Profile
post_contentYesText content of the post
publish_dateYesDate for publishing (DD/MM/YY, MM/DD/YY, or YY/MM/DD)
publish_time_utcFor schedulingTime in UTC, 24-hour format (HH:MM). Leave blank for immediate publish
cta_typeNoCall-to-action type: LEARN_MORE, BOOK, ORDER, SIGN_UP, CALL, or NONE
cta_urlNoURL for the CTA button
image_urlNoPublicly accessible URL to an image

CSV scheduling

  • To publish immediately, use today's date and leave publish_time_utc blank.
  • To schedule for later, provide both the date and the UTC time.
  • All scheduled times are processed in UTC — convert from your local timezone before entering.

CSV validation

Localith validates each row before scheduling. Common errors include:

  • location_name does not match any connected profile
  • invalid date or time format
  • publish date is in the past
  • unrecognized cta_type value
  • image_url is not publicly accessible
  • cta_url is not a valid URL

If all rows are invalid, the Schedule posts button will be disabled. Fix the errors and re-upload.

CSV limitations

  • CSV upload currently supports GBP updates only — not offers or events. Use the visual composer for those post types.
  • All scheduling times must be in UTC.
  • Posts require processing before they appear in the published list.

Tips and best practices

  • Use the visual composer when the same content goes to all selected locations — pair it with Smart Parameters for automatic per-location personalization.
  • Use CSV upload when each location needs a unique post description or when scheduling a large batch at different times.
  • Always check the live preview before publishing — especially when using Smart Parameters to make sure the dynamic values look correct.
  • Set expiration dates on offer and event posts to keep profiles clean automatically.
  • Save unfinished posts as drafts rather than publishing incomplete content.
  • Use Content Calendar to visualize your publishing schedule and avoid overlapping campaigns across locations.

Limits or edge cases

  • Image uploads in the visual composer are limited to 5 MB per file, minimum 400x300 pixels, JPEG or PNG only.
  • CSV image_url values must point to publicly accessible images — internal URLs or files behind authentication will fail validation.
  • Smart Parameters only work in the visual composer. CSV posts use literal text per row.
  • Publishing to a large number of locations may take a few minutes to fully process.

Common questions

Can I use Smart Parameters in CSV uploads?

No. Smart Parameters work in the visual post composer only. In CSV uploads, each row contains the literal text for that location's post.

Can I schedule offers and events via CSV?

Not currently. CSV upload supports updates only. Use the visual post composer for offers and events.

What happens if a scheduled post fails?

Failed posts appear with an error status in the Publishing section. Check the error details — common causes include disconnected profiles or Google API issues.

Can I edit a post after it is published?

Published posts can be viewed in the Publishing section. To update a published post, you would need to create a new post to replace it.

How do I preview posts before bulk publishing?

The visual composer shows a live preview on the right side as you write. For CSV uploads, review the validation results carefully before confirming — there is no visual preview for CSV posts.

More in Publishing & Scheduling

Can't find what you're looking for?

Our support team is here to help. Reach out and we'll get back to you within 24 hours.

Contact support