When working with postbacks in Telegram Mini Apps via Monetag SDK, you may encounter various integration issues or have recurring questions. This section helps you diagnose problems and clarify behavior of the postback system.
Common Issues #
Postbacks not received #
- Ensure that the postback feature has been activated for your zone.
- Verify that your zone is configured for a supported format (Rewarded Interstitial or Rewarded Popup).
- Check that the ad was successfully shown or triggered inside your app.
- Confirm that your endpoint is publicly accessible and does not require authentication.
Postback retries not working #
- Monetag retries delivery automatically on server errors (non-200 status codes).
- Make sure your server always returns
200 OK
after successful handling. - Review server logs to confirm that retry attempts are not blocked or misrouted.
Duplicate postbacks #
- Monetag may retry delivery if your server failed to respond properly.
- Always make your handler idempotent: deduplicate using
ymid
.
Missing or unexpected macro values #
- Some macros, like
{telegram_id}
, may be empty if Telegram WebApp SDK did not provide the value. - Log every incoming postback and inspect the raw data before applying business logic.
Frequently Asked Questions #
Can I get postbacks for In-App Interstitial? #
No. In-App Interstitial is not supported in the rewarded postback system. Postbacks are only available for Rewarded Interstitial and Rewarded Popup formats.
What is reward_event_type
and how should I use it?
#
This field tells you whether the event is monetized (valued
) or not (not_valued
). Only valued
events should trigger a reward or be counted toward revenue.
Is telegram_id
always available?
#
No. It depends on whether Telegram includes this value during the WebApp session. If unavailable, the field may be empty.
Do I need to use both frontend .then()
and server-side postbacks?
#
It depends on your use case:
- Use
.then()
for UI logic and feedback. - Use postbacks for actual reward logic and analytics.
We recommend using both: .then()
for the user, postbacks for the backend.
How can I test my integration? #
See Testing and Verifying Postbacks for step-by-step instructions.