Skip to navigation

SCO error and reason codes

What each SCO validation and verification code in the Analytics SCO reports means, and what to do about it.

When Pixalate validates and verifies a supply chain object (SCO) in your Analytics traffic, it records an error code for each problem it finds. You’ll see these codes in the Analytics SCO reports, where you can filter by them. More than one code can apply to the same SCO.

These codes are for the Analytics dashboard SCO reports. The SCO Validation & Verification API returns a different set of reason codes (101, 102 and 201 to 209). If you use the API, see API reason codes. The table below shows which API codes share a name with these.

Validation errors

Validation errors mean the SCO isn’t well formed: it can’t be parsed, or required fields are missing. In the Analytics dashboard, all validation errors appear under one label: SCO deserialization failed.

CodeErrorWhat it meansWhat to do
4101Missing versionThe SCO doesn’t specify a version, which is needed to choose the correct validation rules.Make sure the SCO includes the ver field with the correct version.
4102Missing complete flagThe SCO doesn’t contain a complete flag, which is needed to tell whether the chain is complete.Make sure the SCO includes the complete flag, whether or not the chain is complete.
4104Missing node IDA node in the SCO has no ID.Make sure every node in the SCO includes a unique ID.
4105Invalid node ID formatA node ID isn’t in the correct format.Check that the node ID matches the format in the OpenRTB specification.
4106Incomplete node informationRequired information for a node is missing or incomplete.Check and fill in all required fields for each node.

Verification errors

Verification errors mean the SCO is well formed, but a node doesn’t check out against the publisher’s ads.txt or app-ads.txt, or a seller’s sellers.json.

SCO and node errors

CodeErrorWhat it meansWhat to do
4401SCO not providedNo SCO was provided for these impressions.Make sure your direct partners, and their upstream partners, pass the SCO.
4402SCO declared incompleteThe SCO’s complete flag was set to 0, declaring the chain incomplete.Work with your partners to fill the gaps in the SCO.
4403Publisher missing in SCOThe first node in the SCO didn’t point to a publisher.Make sure the first entity in the SCO has a partnership with the publisher.
4404Direct seller not authorizedThe first seller in the SCO isn’t listed as a DIRECT seller in the publisher’s ads.txt or app-ads.txt.Make sure the first entity in the SCO is listed as an authorized seller in the publisher’s ads.txt or app-ads.txt.
4405Reseller not authorizedA seller on a reseller node in the SCO isn’t listed in the publisher’s ads.txt or app-ads.txt.Make sure the seller on that reseller node is listed as an authorized reseller in the publisher’s ads.txt or app-ads.txt.
4406Reseller listed as direct sellerA seller on a reseller node is listed in the publisher’s ads.txt as DIRECT, not RESELLER.Make sure the seller on that reseller node is listed as RESELLER in the publisher’s ads.txt or app-ads.txt.
4407Link in SCO missing in sellers.jsonA seller entry in a node didn’t match the sellers.json of the seller on the next node.Make sure the entity on that node is listed correctly, with the correct seat ID, in the relevant sellers.json file.
4408Unable to resolve publisher domainPixalate couldn’t resolve the publisher domain to fetch its ads.txt or app-ads.txt.Make sure the correct website or app information is passed, or fix the confidential or missing entry in the sellers.json file.

File errors

CodeErrorWhat it meansWhat to do
4201ads.txt not resolvedThe ads.txt file for the site wasn’t found.Check the file’s location manually, and work with the publisher to fix the problem.
4202app-ads.txt not resolvedThe app-ads.txt file for the app wasn’t found.Check the file’s location manually, and work with the publisher to fix the problem.
4203sellers.json not resolvedThe sellers.json file for one or more sellers in the SCO wasn’t found.Check the file’s location manually, and work with the seller to fix the problem.

Codes in the API

The SCO Validation & Verification API uses its own numbering. This table lists each API reason code next to the Analytics code with the same name, where there is one.

API codeNameAnalytics code with the same name
101SCO declared incomplete4402
102SCO deserialization failed4101 to 4106 (shown in Analytics as SCO deserialization failed)
201sellers.json not resolved4203
202ads.txt not resolved4201
203app-ads.txt not resolved4202
204Unable to resolve seller domainNone. The closest Analytics code is 4408, Unable to resolve publisher domain.
205Publisher missing in SCO4403
206Direct seller not authorized4404
207Reseller not authorized4405
208Reseller listed as direct seller4406
209Link in SCO missing in sellers.json4407

4401 (SCO not provided) has no API equivalent, because every API request includes an SCO.

Questions? Email support@pixalate.com.