Singular

Set up server-to-server postback tracking for CJ through Singular to track in-app events including app downloads, sign-ups, logins, and purchases.

📋Before You Implement
  • You must have an active Singular account with admin access before starting.
  • Your app must already be integrated with the Singular SDK.
  • You will need your CJ advertiser account credentials to configure postback endpoints.

Overview

Singular's S2S postback template enables CJ advertisers to pass in-app events directly to CJ for attribution. When a user clicks a publisher affiliate link and completes an action inside your app — a purchase, sign-up, or login — Singular fires a server-to-server postback to CJ with the transaction details. This approach does not rely on browser-based tracking and is unaffected by ITP, cookie restrictions, or consent-mode changes.

Scope: Singular supports simple sale and simple lead actions only. Complex event structures and custom event parameters are not supported in this template.

What You Can Track

Singular's S2S template supports the following in-app event types for CJ:

Event TypeAction TypeUse Case
App DownloadsSimple SaleTrack acquisition campaigns driven by publisher traffic
Membership Sign-upsSimple LeadMeasure conversion from install to registration
Membership AuthenticationSimple LeadTrack returning user logins and re-engagement
Purchase EventsSimple SaleMonitor in-app revenue and ROI per publisher

Setup Instructions

Step 1 — Configure Partner Settings in Singular

Log into your Singular dashboard and navigate to Settings > Partner Configuration. Search for CJ Affiliate and click Configure Postbacks.

Step 2 — Create S2S Postback Templates

In the postback configuration screen, click Add New Postback, select the event type you want to track, and configure the postback URL using CJ's endpoint and the required parameters below.

Postback URL structure:

https://www.emjcd.com/u?CID=[YOUR_CID]&TYPE=[EVENT_TYPE]&OID={transaction_id}&AMOUNT={revenue}&CURRENCY={currency_code}

Step 3 — Configure Tracking Links

Singular tracking links work across iOS and Android from a single URL. Desktop visitors are redirected to a configurable web fallback.

1
Navigate to Links > Create New Link in your Singular dashboard.
2
Enter your app details and configure destination URLs for iOS App Store and Google Play.
3
Set a web fallback URL for desktop traffic — typically your homepage. Deep linking is not supported on desktop.
4
Save and generate the tracking link. Test it before use.

Important: Singular tracking links are designed for mobile traffic only. Always configure a desktop fallback URL to prevent dead-ends for non-mobile visitors.


Testing Your Integration

Before going live, complete all steps below and verify each item in the validation checklist.

Test Procedure

<StepList
color="#025450"
steps=[{"n":"1","body":{"type":"span","key":null,"ref":null,"props":{"children":"Install your app on a test device."},"_owner":null,"_store":{}}},{"n":"2","body":{"type":"span","key":null,"ref":null,"props":{"children":"Complete the tracked action (sign-up, purchase, etc.)."},"_owner":null,"_store":{}}},{"n":"3","body":{"type":"span","key":null,"ref":null,"props":{"children":["Check ",{"type":"strong","key":null,"ref":null,"props":{"children":"Singular's Events Log"},"_owner":null,"_store":{}}," (Dashboard > Events) within 5–10 minutes and confirm the event appears."]},"_owner":null,"_store":{}}},{"n":"4","body":{"type":"span","key":null,"ref":null,"props":{"children":["Verify the postback status is ",{"type":"code","key":null,"ref":null,"props":{"children":"200"},"_owner":null,"_store":{}}," in the postback log."]},"_owner":null,"_store":{}}},{"n":"5","body":{"type":"span","key":null,"ref":null,"props":{"children":"Confirm the event appears in CJ reporting within 24 hours."},"_owner":null,"_store":{}}}]
/>

If your issue is not listed above, refer to Singular's Partner Settings Configuration Guide or contact support below.


Resources

* Singular: Postback Macros Reference
* Singular: Partner Configuration Guide

Need help?

Submit a support ticket for account-specific support.

How to submit a ticket →


Did this page help you?