Post impressions provide powerful analytics capabilities to track how users interact with content. This feature enables content creators and community managers to gain valuable insights into post performance, user engagement patterns, and content reach across their communities.

Track Views

Mark posts as viewed and collect impression data

Analyze Reach

Monitor unique user engagement and content reach

User Insights

Query detailed information about who viewed your posts
Impressions represent the total number of times a post has been viewed, while reach represents the number of unique users who have viewed the post. Post impression data is updated in near real-time for optimal performance.

Analytics Metrics

Impression tracking provides essential metrics for content performance analysis and user engagement insights.
MetricDescriptionUse Case
ImpressionsTotal number of times a post has been viewedTrack overall content visibility and exposure
ReachNumber of unique users who viewed the postMeasure audience size and content distribution
View RatePercentage of users who viewed vs. total followersAssess content relevance and engagement quality

Marking Posts as Viewed

Track user interactions by marking posts as viewed when they appear in the user’s feed or are specifically opened.

Implementation

1

Detect View Event

Determine when a post should be considered “viewed” (e.g., visible in feed, opened in detail).
2

Mark as Viewed

Call the analytics method to record the impression.
3

Access Metrics

Retrieve updated impression and reach counts from the post object.
4

Update UI

Display analytics data in your interface.
// To mark a post as viewed.
post.analytics.markAsViewed()
//
// ...
//
// To view the number of impression and reach
let impression = post.impression
let reach = post.reach

Query Reached Users

Retrieve detailed information about which users have viewed specific posts to gain insights into your audience and content performance.

Parameters

ParameterTypeRequiredDescription
viewedTypeAmityViewedTypeYesType of content viewed (use .post for posts)
viewedIdStringYesID of the post to query reached users for
let token = userRepository.getReachedUsers(viewedType: .post, viewedId: "post-id").observe { Collection, change, error in
    // Handle list of reach users here.
}

Best Practices

Troubleshooting

Practical Examples

Content Analytics Dashboard

Build comprehensive dashboards showing post performance, reach trends, and audience insights for content creators.

Audience Insights

Analyze user demographics and engagement patterns to better understand your community audience and optimize content strategy.

A/B Testing Framework

Compare impression rates between different post formats, content types, or posting times to optimize engagement.

Engagement Scoring

Calculate post engagement scores based on reach, impressions, and user interaction patterns for content ranking.