Zernio
Zernio
PlatformsGoogle BusinessPosts & Content TypesEvent & Offer PostsMulti-Location PostingBusiness Profile ManagementAnalyticsInboxMedia & Limits
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Google Business

Event & Offer Posts

Create event and offer posts via topicType


Event and Offer Posts (topicType)

Google Business Profile supports three post types via platformSpecificData.topicType:

topicTypeWhen to useRequired fields
STANDARDRegular updatesNone
EVENTAnnouncements with a date range (grand openings, live music, workshops)event
OFFERPromotions and discountsoffer

Note: For EVENT posts, Google returns a 400 error if event is omitted.

Event Post Example

const { post } = await zernio.posts.createPost({
  content: 'Join us for our Grand Opening Weekend! Food, music, and giveaways.',
  mediaItems: [
    { type: 'image', url: 'https://example.com/grand-opening.jpg' }
  ],
  platforms: [{
    platform: 'googlebusiness',
    accountId: 'YOUR_ACCOUNT_ID',
    platformSpecificData: {
      topicType: 'EVENT',
      event: {
        title: 'Grand Opening Weekend',
        schedule: {
          startDate: { year: 2026, month: 5, day: 15 },
          startTime: { hours: 9, minutes: 0 },
          endDate: { year: 2026, month: 5, day: 16 },
          endTime: { hours: 17, minutes: 0 }
        }
      },
      callToAction: {
        type: 'LEARN_MORE',
        url: 'https://mybusiness.com/grand-opening'
      }
    }
  }],
  publishNow: true
});

Offer Post Example

const { post } = await zernio.posts.createPost({
  content: 'This weekend only: Save 20% on all services. Use code SAVE20.',
  mediaItems: [
    { type: 'image', url: 'https://example.com/save20.jpg' }
  ],
  platforms: [{
    platform: 'googlebusiness',
    accountId: 'YOUR_ACCOUNT_ID',
    platformSpecificData: {
      topicType: 'OFFER',
      offer: {
        redeemOnlineUrl: 'https://mybusiness.com/redeem',
        couponCode: 'SAVE20',
        termsConditions: 'Valid Fri–Sun only. One per customer.'
      },
      callToAction: {
        type: 'SHOP',
        url: 'https://mybusiness.com/services'
      }
    }
  }],
  publishNow: true
});

Language Code Example

By default, post language is auto-detected from text. If auto-detection may be inaccurate (very short posts, mixed-language content, transliterated text), set languageCode explicitly.

const { post } = await zernio.posts.createPost({
  content: 'Diese Woche: 20% Rabatt auf alle Services.',
  mediaItems: [
    { type: 'image', url: 'https://example.com/promo.jpg' }
  ],
  platforms: [{
    platform: 'googlebusiness',
    accountId: 'YOUR_ACCOUNT_ID',
    platformSpecificData: {
      languageCode: 'de'
    }
  }],
  publishNow: true
});
Was this page helpful?

Posts & Content Types

Create updates, offers, CTAs, and other Google Business post types

Multi-Location Posting

Post to many business locations at once

On this page

Event and Offer Posts (topicType)Event Post ExampleOffer Post ExampleLanguage Code Example