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.
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
- Open Publishing from the left sidebar.
- Click Create post.
- 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.
- Post details — choose the post type: Update, Offer, or Event.
- 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.
- 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.
- Button (optional) — add a call-to-action button to the post.
- Click Next to proceed to scheduling.
- Schedule post — choose to Publish now or Schedule for later. If scheduling, select the date and time.
- Optionally set an expiration date to automatically delete the post after a certain period.
- Confirm and publish or schedule the post.
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
- Open Publishing from the left sidebar.
- Click Plan content in the top-right area.
- Select Upload CSV file.
- Prepare your CSV file using the required template structure (see below).
- Upload the file.
- Review the validation results — Localith checks each row for errors.
- Fix any validation errors and re-upload if needed.
- Click Schedule posts to queue all valid rows for publishing.
CSV template columns
| Column | Required | Description |
|---|---|---|
| location_name | Yes | Exact name of the connected Google Business Profile |
| post_content | Yes | Text content of the post |
| publish_date | Yes | Date for publishing (DD/MM/YY, MM/DD/YY, or YY/MM/DD) |
| publish_time_utc | For scheduling | Time in UTC, 24-hour format (HH:MM). Leave blank for immediate publish |
| cta_type | No | Call-to-action type: LEARN_MORE, BOOK, ORDER, SIGN_UP, CALL, or NONE |
| cta_url | No | URL for the CTA button |
| image_url | No | Publicly 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.