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:
| topicType | When to use | Required fields |
|---|---|---|
STANDARD | Regular updates | None |
EVENT | Announcements with a date range (grand openings, live music, workshops) | event |
OFFER | Promotions and discounts | offer |
Note: For
EVENTposts, Google returns a 400 error ifeventis 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?