Skip to main content
Google Business Profile (formerly Google My Business) lets you post updates that appear in Google Search and Maps. It’s not social media in the traditional sense, but it’s great for local businesses.

Supported Content Types

  • Standard Posts: Regular text updates with optional image.
  • Events: Time-bound events with a title and date range.
  • Offers: Promotional offers with coupon codes and terms.
  • Alerts: Special alerts (currently only COVID_19).

Quirks & Gotchas

Location Selection Required

After connecting your Google account, you must select a business location. This is similar to selecting a Facebook Page or LinkedIn Company Page.

Post Types

Google Business supports different post types via the topicType field:
  • STANDARD: Regular updates (default).
  • EVENT: Time-bound events with a title and date range.
  • OFFER: Promotional offers with coupon codes and terms.
  • ALERT: Special alerts (currently only COVID_19).

Call to Action

You can add a CTA button to your posts:
  • BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP, CALL
  • Requires a callToActionUrl for most types.

Media Limits

ConstraintValue
Files0-1 image only (no video)
Image max size5 MB
Image min resolution250x250
TextMax 1,500 characters
See Platform Limits for details.

Post Options

FieldTypeDescription
textstringPost content. Max 1,500 characters.
uploadIdsstring[]Media attachments (images only).
topicTypeenumPost type: STANDARD, EVENT, OFFER, ALERT. Default: STANDARD.
languageCodestringLanguage code (e.g., en, en-US). Default: en.
callToActionTypeenumCTA button: BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP, CALL.
callToActionUrlstringURL for the CTA button.

Event-Specific Fields

FieldTypeDescription
eventTitlestringEvent title. Max 58 characters.
eventStartDatedateEvent start date.
eventEndDatedateEvent end date.

Offer-Specific Fields

FieldTypeDescription
offerCouponCodestringCoupon code. Max 58 characters.
offerRedeemOnlineUrlstringURL to redeem the offer online.
offerTermsConditionsstringTerms and conditions. Max 1,500 characters.

Analytics

For general analytics concepts (refresh rates, data retention, what “Returns 0” means), see the Analytics Overview. Google Business provides basic analytics for your business location. Don’t expect Instagram-level data here.

Profile Analytics

Period: Rolling window.
MetricDescriptionNote
impressionsProfile viewsHow many times your profile was viewed
viewsProfile viewsSame as impressions
followers-Returns 0 (not applicable)

Post Analytics

Period: Lifetime.
MetricDescriptionNote
impressionsPost views
viewsPost viewsSame as impressions
likes-Returns 0 (not tracked by Google)
comments-Returns 0 (not tracked by Google)

Examples

Standard Post

await bundle.post.create({
  socialAccountTypes: ["GOOGLE_BUSINESS"],
  data: {
    GOOGLE_BUSINESS: {
      text: "We're open for the holidays! Visit us today.",
      callToActionType: "LEARN_MORE",
      callToActionUrl: "https://example.com/holiday-hours"
    }
  }
});

Event Post

await bundle.post.create({
  socialAccountTypes: ["GOOGLE_BUSINESS"],
  data: {
    GOOGLE_BUSINESS: {
      topicType: "EVENT",
      text: "Join us for our grand opening celebration!",
      eventTitle: "Grand Opening",
      eventStartDate: "2026-02-01T10:00:00Z",
      eventEndDate: "2026-02-01T18:00:00Z",
      callToActionType: "BOOK",
      callToActionUrl: "https://example.com/rsvp"
    }
  }
});

Offer Post

await bundle.post.create({
  socialAccountTypes: ["GOOGLE_BUSINESS"],
  data: {
    GOOGLE_BUSINESS: {
      topicType: "OFFER",
      text: "Get 20% off your first order!",
      offerCouponCode: "WELCOME20",
      offerRedeemOnlineUrl: "https://example.com/shop",
      offerTermsConditions: "Valid for new customers only. Expires Feb 28, 2026."
    }
  }
});