Skip to main content

Overview

This loyalty rule allows admins to reward users based on the impression count (view count) their X (Twitter) posts receive. This is a follow-up rule that works in conjunction with the Post on X rule, encouraging users to create engaging content that reaches a wider audience. Users first create a post through the “Post on X” rule, then submit that same post to this rule to claim rewards based on how many impressions it has received.
X Post
Impressions

Prerequisites

  • The user must have connected their X (Twitter) account to Snag.
  • The user must have already created and submitted a post through the “Post on X” rule.
  • The user must submit the same post URL to this rule to claim impression-based rewards.
  • At least 1 hour must have passed since the last impression check for accurate data.

Rule Configuration Fields

Reward

  • Type of Reward: Choose between “Points” or “Multiplier”.
  • Points: Users will get the defined no of points.
  • Multiplier: Users will get the multiplier of the defined amount.

Reward Criteria

  • Impression count ranges: Define multiple impression count ranges with corresponding reward amounts. Users are rewarded based on which tier their post’s view count falls into when they submit their claim.
    Set up tiered rewards to incentivize users to create high-quality, engaging content that reaches more people. For example, you might reward 10 points for 100-500 impressions, 50 points for 501-2000 impressions, and 200 points for 2000+ impressions.
    How impression tiers work:
    • Define multiple impression ranges (e.g., 100-500, 501-2000, 2001-10000)
    • Each range has its own reward amount
    • When users submit their post URL, the system checks the current impression count
    • Users automatically receive rewards based on which tier their post’s impression count falls into
    • Higher impression counts result in higher rewards, encouraging quality content creation
    The system refreshes impression counts when users submit claims. If the post was last synced more than 1 hour ago, the system will fetch fresh data from X before calculating rewards.

Basic Settings

  • Update Cadence: Points for this rule are rewarded when users submit their post claim. The system validates the impression count at that moment.
  • User Reward Frequency: This defines how often users can claim rewards for their X posts. You can choose between:
    • Once: Users can only claim rewards once total, regardless of how many posts they submit or how impressions grow
    • Daily: Users can submit one claim per day (can be for the same post or different posts)
    • Weekly: Users can submit one claim per week (can be for the same post or different posts)
    • Monthly: Users can submit one claim per month (can be for the same post or different posts)
    • Unlimited: Users can claim rewards multiple times for the same post as impressions grow into higher tiers
    How intervals work with impression-based rewards:
    • Once: User submits a post at 1,000 views (gets 50 points). If they try to submit again at 5,000 views, they won’t receive additional rewards.
    • Daily/Weekly/Monthly: User can submit once per period. They could submit Post A on Monday at 1,000 views, then submit Post B (or resubmit Post A if views increased) on Tuesday. Each period allows one new claim.
    • Unlimited: User submits a post at 500 views (gets 25 points), then submits the same post again at 1,500 views (gets 100 points), then again at 5,000 views (gets 250 points). They can keep claiming as the post grows.

Custom Settings

  • Skip multiplier: Skip the multiplier for this rule

How It Works

1

User creates a post using 'Post on X' rule

The user creates a post on X (Twitter) that meets the requirements of the “Post on X” rule and submits it for the initial reward.
This creates a LoyaltyPost record in the system that tracks the post’s metadata and performance.
2

User waits for impressions to accumulate

The post gains views on X over time. Users should wait for their post to accumulate impressions before claiming rewards through this rule.
3

User submits the same post URL to this rule

When ready to claim impression-based rewards, the user submits the same post URL they previously submitted to the “Post on X” rule.
4

System fetches current impression data

The system checks when the post’s impression data was last synced. If it’s been more than 1 hour, fresh data is fetched from X to ensure accuracy.
5

Rewards are calculated and distributed

Based on the current impression count, the system determines which tier the post falls into and awards the corresponding reward amount.
Users will see the reward credited to their account immediately based on the impression tier their post achieved.

API Integration

If you’re integrating this rule via the Snag API, you’ll follow the same asynchronous verification flow as other loyalty rules. The key requirement is to submit the post URL when completing the rule.
For complete details on the API claim flow, including polling for status and handling responses, see Verifying rule completion.

Required Parameter

When calling the Complete Loyalty Rule endpoint, you must include the contentUrl parameter with the X post URL:
await client.loyalty.rules.complete(ruleId, {
  userId: 'user-uuid',
  contentUrl: 'https://x.com/username/status/1234567890', // Required for this rule
})
The contentUrl should be the same post URL that was previously submitted to the “Post on X” rule. The system will:
  1. Extract the tweet ID from the URL
  2. Look up the existing LoyaltyPost record
  3. Fetch current impression data (if needed)
  4. Calculate rewards based on the configured impression tiers
  5. Award points according to the reward frequency settings
If the contentUrl doesn’t match a post that was previously submitted via the “Post on X” rule, the completion will fail with a “Post not found” error.

Example Configuration

Here’s a practical example of how you might configure this rule:
  • Once (Single Claim)
  • Weekly (Periodic Claims)
  • Unlimited (Growth Rewards)
Impression tiers:
  • 100-500 impressions: 10 points
  • 501-2000 impressions: 50 points
  • 2001-5000 impressions: 150 points
  • 5000+ impressions: 300 points
User Reward Frequency: OnceUse case: Simple campaigns where users claim once at their post’s peak performance
User submits their post at 3,000 views and receives 150 points. They cannot claim again, even if the post reaches 10,000 views.

Best Practices

  • Once: Best for limited-time campaigns or when you want to reward peak performance only. Users will wait for maximum impressions before claiming.
  • Daily/Weekly/Monthly: Ideal for ongoing campaigns where you want to encourage consistent content creation. Users can submit new posts each period or resubmit existing posts that gained more traction.
  • Unlimited: Perfect for viral content campaigns where you want to reward posts as they grow. Be careful with reward budgets as successful posts can earn multiple rewards.
Considerations:
  • Unlimited frequency requires larger point budgets but creates excitement around viral content
  • Periodic (daily/weekly/monthly) frequencies balance engagement with budget control
  • Once frequency is most budget-friendly but may reduce long-term engagement
  • Start with realistic tier ranges based on your typical user engagement on X
  • Create at least 3-4 tiers to reward different levels of reach
  • Make sure the reward amounts increase proportionally with impression ranges
  • Consider your audience size and typical post performance when setting thresholds
  • Don’t set the minimum tier too low - posts need time to accumulate meaningful impressions
  • For unlimited frequency, ensure tier gaps are significant to prevent constant re-claiming
  • Clearly explain that users need to first submit via “Post on X” rule - Emphasize that they should wait for impressions to accumulate before claiming
  • Make it clear they submit the same URL to this rule to claim impression rewards - Explain the timing requirements (1 hour minimum between syncs)
  • Review your post analytics to understand typical impression ranges
  • Set tier breakpoints at natural performance levels
  • Ensure lower tiers are achievable for most users to maintain engagement
  • Reserve highest rewards for exceptional performance to incentivize quality

Troubleshooting

  • Verify the user has already submitted this post through the “Post on X” rule first
  • Confirm they’re submitting the exact same URL they used in the original post submission
  • Check that the post still exists on X and hasn’t been deleted
  • Ensure the user is logged in with the same X account that created the post
  • Impression data is cached for 1 hour to avoid excessive API calls - If a user claims within 1 hour of their last claim, they’ll see the cached count - Wait at least 1 hour between claims for fresh impression data - The system automatically refreshes data after the 1-hour window
  • Confirm the impression count actually falls within one of the defined tier ranges - Check if the user has already claimed the maximum number of times based on reward frequency settings - Verify the rule is active and within its configured date range - Ensure the impression count meets the minimum threshold of your lowest tier