Testing & Validation

πŸ“‹Before you test
  • Ensure you have a valid Personal Access Token from the CJ Developer Portal.
  • Confirm you are using the correct API endpoint for production or test mode.
  • Verify your token is authorized for the advertiser account you are working with.
  • Ensure your request includes required attribution data. cjEvent is preferred. AID and PID may be used as fallback values.
  • Processing can take up to an hour or longer.

How to get a CJ Test Link

How to get a CJ test link
01
Log into
CJ Account Manager
β†’
02
Navigate to Tag Testing
Account β€Ί Tag Testing
β†’
03
Use existing link
or Create Test Link
β†’
04
Name the
test link
05
Enter destination URL
(must be https://)
β†’
06
Hit
Save
β†’
07
Click Place Test Order
to generate a link
↻ Each click on Place Test Order generates a new window with a unique cjevent appended to your URL.

Testing Scenarios

Retail
  • Scenario 1: No Discount Test
    Click a CJ Tracking Link, proceed with a purchase and do not apply any discount code at checkout.

  • Scenario 2: Whole Order Discount Test
    Click a CJ Tracking Link, proceed with a purchase and apply a whole-order discount code at checkout.

  • Scenario 3: Item Level Discount Test
    Click a CJ Tracking Link, proceed with a purchase and apply an item-specific discount code at checkout.

  • Scenario 4: Combination Discount Test
    Click a CJ Tracking Link and apply both an item-level and whole-order discount discount code at checkout.

All tests should include 2 products minimum, with one product having a quantity of 2. Please send a screenshot of the order confirmation page that includes order Id, product prices, discounts, and taxes.

Travel
  • Initial Reservation Purchase Test
    Click a CJ Tracking Link and proceed with a standard purchase of hotel/flight reservation.

    If you are utilizing our Open Ended Lifecycle Solution, we will need to test

    • Accepted
      The initial reservation is completed and the initial transaction updates from pending to accepted.

    • Declined
      The initial reservation is cancelled and the initial transaction updates from pending to declined.

Finance
  • Scenario 1: Standard Application Submission
    Click a CJ Tracking link and submit a credit card application with all required fields completed.

  • Scenario 2: Pre-Qualified Application
    Click a CJ Tracking link, complete a pre-qualification check, then proceed to full application submission.

  • Scenario 3: Card Approval
    Click a CJ Tracking link and submit an application that results in instant approval (validates approval-based commissioning if applicable).

  • Scenario 4: Checking Account Opening
    Click a CJ Tracking link and open a new checking account with initial deposit.

  • Scenario 5: Savings Account Opening
    Click a CJ Tracking link and open a savings or high-yield savings account.

Network Services
  • Scenario 1: Basic Signup
    Click a CJ Tracking link and complete a new internet/mobile plan signup with standard pricing.

  • Scenario 2: Promotional Rate Signup
    Click a CJ Tracking link and complete a signup using a promotional offer or discounted first-month rate.

  • Scenario 3: Bundle Signup
    Click a CJ Tracking link and sign up for a bundled package (e.g., internet + TV + phone).

  • Scenario 4: Plan Upgrade
    Click a CJ Tracking link as an existing customer and upgrade to a higher-tier plan (e.g., faster internet speed, more data).

The scenarios on this page represent commonly tested situations for each vertical. They are not exhaustive β€”your account may have additional action trackers, custom parameters, or program-specific requirements that require further testing. Contact your CJ Integration Engineer for a complete list of scenarios specific to your account setup.

Choose the Correct Endpoint Based on Your Integration Stage

The New Orders API exposes two endpoints. Which one you call depends on whether your integration is in onboarding or already live in production. Using the wrong endpoint can either suppress legitimate test traffic or generate commissionable orders during QA β€” so confirm your stage before submitting.

Before your integration is approved and traffic is flowing, submit test orders to the live endpoint. During onboarding, your account is not yet generating commissionable activity, so submissions are safely routed for review without affecting publisher payouts.

Endpoint: tracking.api.cj.com/graphqltest

Once your integration is approved and processing real orders, use the test endpoint for any QA, regression, or validation work. This keeps test submissions out of your production reporting and prevents accidental commissioning on synthetic orders.

Endpoint: tracking.api.cj.com/graphql

🚧

After going live, do not continue submitting test traffic to the live endpoint. Doing so can create real, commissionable orders in your reporting that must be cancelled via the cancelOrders GraphQL mutation.

Verify the API Response Returns a Valid submissionId

A successful submission returns an HTTP 200 response containing a submissionId. This ID confirms that CJ has received and queued the order for processing β€” it does not yet confirm the order is valid for commissioning. Persist the submissionId in your system so you can trace any downstream issues back to a specific submission.

  • Response status code is 200.
  • Response body includes a non-empty submissionId (UUID format).
  • Any non-200 response, or a 200 missing the submissionId, is treated as a failed submission and retried per your error-handling policy.

Error Handling

The API returns immediate errors for issues related to Authentication, Schema Validation, Authorization, and Additional Field-Level Validation. Errors are returned in the order listed, one category at a time. Each category must be resolved before the next becomes visible.

Category:
Showing 11 of 11 values
CategoryError DescriptionError Message
AuthenticationMissing authentication tokenMissing Token
AuthenticationInvalid authentication tokenInvalid Token
AuthorizationEnterprise ID is not associated with the token providedUnauthorized
SchemaIncorrectly formatted requestInvalid Syntax
SchemaMissing required fieldsValidation error of type WrongType: argument ... is missing required fields $FIELDS
SchemaIncorrect data format or typeValidation error of type WrongType: argument ... with value ... is not a valid $FIELD_TYPE
SchemaIncorrect entry for a value-restricted fieldValidation error of type WrongType: argument ... is not a valid $FIELD_Value
SchemaUnsupported field name in requestValidation error of type WrongType: argument ... contains a field not in $QUERY_TYPE
Field ValidationToo many items in the orderOrder may not have more than 100 items
Field ValidationupdateTime is set in the futureOrder may not have an updateTime in the future
GenericExcessive load on the CJ system504

Need help?

Submit a support ticket for account-specific support.

How to submit a ticket β†’