About the Conversions API
The Conversions API (CAPI) is a secure server-to-server data connection tool that shares conversion event data with Reddit Ads without needing website code. Server-side connections are more resilient to signal loss and strengthen campaign performance with improved measurement, targeting, and optimization.
Considerations before you integrate
Before you begin, you should be familiar with the CAPI requirements and product functionality:
- CAPI supports a variety of sources, including desktop, mobile, app, and offline events.
- We recommend sending conversions via CAPI as close to real-time as possible, but events must be sent within seven days after they occur.
- We require event deduplication if you use the Reddit Pixel and Conversions API together (which we recommend for best performance). The event with more event metadata and match keys will be prioritized. Deduplication is not required when the event is only sent through one integration type. Learn more about event deduplication.
- Some match keys (unique event and user identifiers) are required for each conversion event to ensure accurate matching and attribution. We recommend sending as many identifiers as possible to help improve attribution accuracy and fuel performance.
- Your use of CAPI is subject to the agreements in the Ads API and Reddit Business Tool terms.
Before you start
- Create a Reddit Ads account. Set up your business on Reddit Ads or join your team's account as a creator or administrator. Don't have an account? Here's a great place to start.
- Find your Reddit Pixel ID. Specify which business account should receive your conversions. You can find your Pixel ID in the Events Manager, and it should match the business account's Pixel ID found in Accounts.
- Generate an access token. We recommend generating a conversion token so you don't have to worry about it expiring.
Integrate CAPI
There are several ways you can set up CAPI:
- Direct integration. If you want more flexibility and control of your data, we recommend a direct integration with the Conversions API. This method requires some in-house developer resources to set up.
- Google Tag Manager (GTM). You can set up the CAPI using server-side tagging with your GTM account. We recommend using GTM if you already use it to track your conversions.
- Supported partner integrations. Implement the Conversions API using one of our trusted partners to simplify setup, avoid errors, and save development resources.
Need help choosing the best solution for you? Reach out to your Reddit representative or contact us for support.
Response types
Response | Description |
---|---|
200 | Successfully processed the request. |
400 | Request was invalid. See the client error message for specifics. |
401 | No bearer token or a bad bearer token was provided. Check your application authentication. |
403 | Insufficient authentication scopes or the user doesn't have permission. Your app doesn't have the proper scope for this request. Apply the proper scopes and try again. Check the client error message for specifics. If it's a permission issue, ensure the user has the proper permissions assigned to take action. |
404 | Specified resource was not found. Check that correct permissions have been given to the source and that the resource exists. |
429 | Request has exceeded rate limits. Implementing exponential backoff can help manage retries for failed actions. If you need higher rate limits, reach out to our support team. |
500 | Server error while processing events. Try again later or contact our support team if the problem persists. |
Verify your integration
There are two ways you can verify CAPI:
- Events Manager: Trigger conversion events in real-time to see if your events are being captured. Third-party cookies must be enabled in your browser settings for event testing. This method is recommended for quick and simple testing.
POST Get a report
: Generate a metrics report for up to threebreakdowns
based on the list of fields that you provide. Reports provide detailed insights and analytics on ad performance, audience engagement, and other relevant metrics. You can also use this endpoint to verify custom conversion events. We recommend this method if you'd like an in-depth analysis.
Best practices
- Stay within the rate limits. You're limited to 1,000 requests/second, 1,000 events/request, and 10,000 events/second.
- Set a descriptive user agent. Many default user agents (like "Python/urllib" or "Java") are drastically limited to encourage unique and descriptive user agent strings. Make sure the user agent string in your requests is unique and descriptive. We recommend including the target platform, a unique application identifier, a version string, and your username as contact information, in the following format:
<platform>:<app ID>:<version string> (by /u/<reddit username>)
. Here's an example:User-Agent: android:com.example.myredditapp:v1.2.3 (by /u/anagtest)
.Never lie about your user agent. This includes spoofing popular browsers and spoofing other bots. We ban liars with extreme prejudice.
Include the version number and update it as you build your application. This helps us safely block old buggy or broken versions of your app.
- Use the Conversions API and Reddit Pixel together. This will improve conversion coverage, maximize campaign performance, and power better targeting and optimization tools. Your measurement will be more resilient and adaptable to the shifting advertising landscape.
Event deduplication is required for advertisers using both the Reddit Pixel and Conversions API.
- Share as many match keys as possible. Match keys are crucial to help attribute conversions to a Reddit ad engagement. These signals can be shared unhashed or pre-hashed. We strongly recommend sharing the IP address and click ID and suggest including the email address and user agent. If you're integrating CAPI with the pixel, we recommend sharing UUID.
Opt out users
We offer the data_processing_options
parameter to help you meet your compliance needs, including opting out users if they have not consented to behavioral targeting. Learn more about Limited Data Use (LDU).