Composway Docs
Cookbook

Report across several sites

One assembled report over up to ten sites - which sections to ask for, and the one argument that makes a portfolio total possible.

Use this when the deliverable is a report rather than an investigation: one site read the same way every month, or a handful of sites read together.

list_sites - get the exact domains, and check get_connection_status for any site whose numbers you expect to be low. An unsynced engine in a report reads as a decline.

Pick the sections. generate_search_performance_report defaults to summary,trend,topMovers. The other four - opportunities, siteSections, brandSplit, crossEngine - each cost at least one more scan per site, so ask for them when the report is about them.

Pass to to pin the window. Without it each site anchors to its own latest measured day, which is what the standalone tools do but leaves the sites on different windows - and suppresses the cross-site total.

Call it with sites comma-separated, at most 10. They are read one after another, so a wide report with extra sections is a slow call.

Report the failures as failures. A site that could not be reached comes back as a status: "error" row, and a section that failed as status: "failed" inside that site's sections. Partial results are normal here and are labelled rather than hidden - presenting the rest as the whole picture is the mistake.

A section here is the same answer as the tool

The report is assembled by calling the other tools and embedding their responses whole, so each section reads exactly as that tool's own output does - unsupportedInputs included. If a section looks surprising, the tool's own page explains it, and calling that tool directly gets you its thresholds and arguments.

portfolio is a cross-site total of clicks and impressions only, and is null unless every counted site resolved to the same window - which is what step 3 is for. Average position is deliberately not totalled anywhere.