Agenda stats (dealer statistics)
Statistics of a dealer by day, week or month, divided into the sections moto, dily, prislusenstvi and firma, plus the vybirame block, the “Our pick” list on MotoInzerce.cz (Vybíráme z nabídky): ad detail views, impressions in result lists, click-throughs, replies to the ad, saves to favourites, video plays, promotion boxes (akční okno) and metrics of the dealer, its branches and e-shops.
Based on the same counters and rules as the statistics in the dealer administration and as the statistics of a single ad and the ad table. The agenda is read-only and requires the statsperm permission. How the numbers are produced and how to read them is described in detail in the Statistics methodology.
- There is no total across sections – each section has its own numbers; the client adds up an overall total itself.
- Deleted ads are included in the totals (as in the administration); the
statspermpermission is enough for that. - The “do not export” setting does not apply to the totals – a total reveals no individual ad, so ads hidden from the login's export server are included in the totals as well.
Agenda features
| Name | Options |
|---|---|
| Supported methods | GET |
| Support for detail levels | ✔ (own selection of metrics, see detail levels) |
| Support for filtering | ✘ |
| Support for full-text search | ✘ |
| Support for pagination | ✘ |
| Support for sorting | ✘ |
| Support for external identifiers | ✘ |
Support for schemas |
https://api.tipmoto.com/schemas/stats.{xsd|rng} |
Support for ?fail-on-warning |
✘ |
| Support for dry-run | ✘ |
Returns location |
✘ |
Address
https://api.tipmoto.com/c/{dealer ID}/stats.{xml|json|html}
- A link to this address is in the dealer overview
/c/{dealer ID}(agendastats). - Whether the login has the
statspermpermission for the dealer is given by thestatsPermissionselement in the dealers list. - The statistics of a single ad are returned by the sub-agenda
statsof the ad. - Totals for a period for the individual ads of one section are returned by the ad table at the address
/c/{dealer ID}/stats/{moto|dily|prislusenstvi}.
Permissions
- The statistics require the
statspermpermission of the login for the dealer. The dealer turns it on for the login in the administration (menu 'Web / export' → 'API propojení', checkbox 'Statistiky' next to the login); by default it is off. Without it the agenda returns402. - Deleted ads are included in the totals even without the permission at the 'archive' level. That permission protects the full data of a deleted ad (agenda
archive), not the statistics.
Parameters
| Parameter | Values | Default | Description |
|---|---|---|---|
period |
day, week, month |
day |
Length of one period of the time series: a day, a week (ISO, Monday to Sunday) or a calendar month. |
from, to |
YYYY-MM-DD |
see Range | First and last day of the range (inclusive). Taken exactly, not snapped to whole weeks or months: a boundary period cut off by the range has neuplne="rozsah" on its metrics, and its od/do give the days actually covered. If from is later than to, they are swapped. Only from: to = today. Only to: from = to − 27 days. |
location |
1, 2, 3, 4 (several separated by commas, e.g. 1,2) |
all placements | Filter by placement. Any filter excludes the reconstructed history (placement 0), so the metrics then start on the day when measurement by placement began. A metric, block or section that does not arise in the selected placements is missing from the document (e.g. with location=3 only zobrazeni and vypis of the moto section remain). A repeated value is merged, an empty location= means no filter, 0 is an invalid value. |
breakdown |
location |
– | Breakdown by placement: each obdobi and the souhrn additionally contain umisteni blocks, see Breakdown by placement. With the breakdown, the akcniOkno and vybirame blocks move into the umisteni blocks and are then not present at the level of obdobi/souhrn. |
section |
moto, dily, prislusenstvi, firma (several separated by commas, e.g. moto,firma) |
all sections | Which sections the document contains. The vybirame block is outside the sections and the section parameter does not affect it. A repeated value is merged, an empty section= means all sections. |
detail |
id, summary, full, custom:… |
full |
Which metrics the document contains, see detail levels. |
no-series |
true (1), false (0) |
false |
true = document without the time series rada, only with the summary. Makes the response smaller. |
| standard | lang, xpath, code-in-response, no-http-errors, sessionid |
Work as everywhere in the API, see URL parameters. xpath returns XML even for .json. |
|
| not supported | order, filter, limit, start, add-row-count, fulltext, ftx-loc, usrval-show |
The dealer statistics do not support them and return 406 as soon as the parameter has a non-empty value, even 0 (limit=0 is an error). A parameter with an empty value (limit=) is treated as not given. |
An invalid value of the period, from, to, location, breakdown, section, detail or no-series parameter returns 400 with a message that lists the allowed values. Values are case-sensitive.
Detail levels
| Value | Content |
|---|---|
id |
Identification of the dealer, rozsah and the coverage metriky as for full – without numbers (without souhrn and rada). |
summary |
Five basic metrics of the ads in the moto, dily and prislusenstvi sections: zobrazeni, vypis, urlKliknuti, odpovedi, schranka. The firma section and the vybirame block are not included. |
full (default) |
In addition videoPrehrani, videoDokoukano, the akcniOkno and vybirame blocks and the metrics of the firma section: pobocky, eshopy, stranky, formulare, poptavky, web. |
custom:… |
Only the listed metrics and blocks, separated by commas: zobrazeni, vypis, urlKliknuti, odpovedi, schranka, videoPrehrani, videoDokoukano, akcniOkno, vybirame, pobocky, eshopy, stranky, formulare, poptavky, web. E.g. detail=custom:zobrazeni,odpovedi. Unknown items are ignored, as everywhere in the API (including videoUdrzeni, which is only in the ad statistics); if the list contains only unknown items, the document is the same as for detail=id. |
A section without a single selected metric is not output, not even in metriky (e.g. section=firma&detail=custom:zobrazeni does not output the firma section). This is not an error. When nothing in the selection arises at all (as in this example, or video for a dealer that never had a video), the document has a souhrn with only od, do and a series of empty obdobi elements; the range is not narrowed.
Placements
Where the visitor saw the ad or the dealer. The placement number is in the lokace element; the list of values is in the agenda lokacestats.
lokace |
Placement |
|---|---|
0 |
Not distinguished – history reconstructed from backups (until dopoctenoDo). Appears only in the breakdown=location breakdown and cannot be used as a filter. |
1 |
Main website www.tipmoto.com |
2 |
Dealer subdomain |
3 |
Widget on the dealer's website (embedded list web.tipmoto.com) |
4 |
MotoInzerce.cz |
Range
- Default range: the last 28 days (today − 27 days to today).
- The API only narrows the range, it never widens it: a
toin the future is cut to today and afrombefore the start of the available data is moved to that start. The start of the data is the earliest first day with data of the selected metrics (e.g. withdetail=custom:videoPrehraniit is 24 September 2026). Withperiod=month, a boundary in the middle of a month for which only monthly totals exist (older than the daily data) is narrowed inwards to whole months. Procedure: fill in a missingfrom/to, swap, narrow. - The range actually used is in
rozsah/odandrozsah/do. If it differs from the requested one,rozsahalso contains the requested values inpozadovanoOdandpozadovanoDo.location,breakdownandsectionare inrozsahonly when the parameters were used (locationnormalised: ascending, without repetition;sectionin the ordermoto,dily,prislusenstvi,firma, without repetition). - An empty range (e.g. entirely before the start of the data) is not an error: it returns
200, the identification of the dealer androzsahwithoutod/do, but withoutmetriky,souhrnandrada(nothing was measured). E.g.from=2020-01-01&to=2020-02-01:<rozsah> <period>day</period> <pozadovanoOd>2020-01-01</pozadovanoOd> <pozadovanoDo>2020-02-01</pozadovanoDo> </rozsah>
- Data availability: by day and week at the earliest from the first day of the month 13 months ago (older daily data are deleted; in September 2026 this is 1 August 2025), by month (
period=month) forzobrazeniandodpovedifrom May 2022. Metrics whose measurement started only in 2026 have data from the start of measurement (see metric catalogue). - All dates and day boundaries are in the Europe/Prague time zone.
Zero and not measured
0means “measured and nobody came”. A missing element means “not measured” – in that period the metric was not yet measured or had a gap in the data, it does not arise in the given placement or section at all, or (for video) the dealer had no video at the time. So do not read zero as “data missing”, nor a missing element as zero.- The same applies to sections: a section that measured nothing in a period is missing from that period (e.g.
firmain the months before measurement started). - The main number (text of the metric element) = people and unidentified visitors, without bots – i.e. the same as the chart in the administration. Bots are in the attributes.
- The
akcniOknoandvybirameblocks are output for every placement where they arise according to the catalogue and where measurement took place in the range, even if there are no data in it – a dealer that did not buy the promotion box in a given placement sees zeros there. - The time series contains all periods of the range, even those without a single visit (then with zeros for the measured metrics).
Incomplete values (neuplne)
The neuplne attribute on a metric says that the value covers only part of the period, and why. Several reasons are separated by commas in this order:
| Reason | Meaning |
|---|---|
rozsah |
The period is cut off by the range (a week or month at the from/to boundary). Does not occur in the summary – it covers exactly the range used. |
mereni |
The metric started to be measured in the period, has a gap in the data in it, or it is an incomplete first day of measurement (4 September 2026 for urlKliknuti, 7 September 2026 for schranka, formulare, poptavky and web, 24 September 2026 for video, see catalogue); it is enough if this applies in one of the summed placements. |
bezi |
The period has not ended yet (it contains today). Also in the summary when the range contains today. |
The reason zivot from the ad statistics does not occur here – the dealer statistics have no ad lifetime and nothing is cut to it.
Summary (dni, prumerDen)
souhrncontains the totals for the range used. The value of a metric is the total of everything measured including incomplete days, so it equals the total of the time series.dni= number of complete days of the range on which the metric was measured – without days in a gap in the data, without incomplete first days of measurement and without today.prumerDen= total for these complete days /dni, to 2 decimal places (decimal point). Incomplete days are in the value but not in the average, so value /dnimay differ fromprumerDen.neuplnein the summary is onlymereniorbezi.- If the range consists only of incomplete days (e.g. only today or only the first day of measurement), the metric is output with its value,
dni="0"andneuplne, but withoutprumerDen. - A metric that was not measured at all in the range is missing from the summary; so is a section without a single such metric.
Bots
- The
roboti(bots) andaiRoboti(AI bots) attributes are next to the main number (people and unidentified visitors); the groups do not overlap, all visitors = value +roboti+aiRoboti. - Since when bots are separated is given by
robotiOdof the metric inmetriky. In the time series, a period that starts beforerobotiOdhas no attributes. In the summary the attributes are present only if bots were measured for the whole time for which the metric has a value in the range – otherwise the share of bots would not have the same base as the value next to it. - Values until
dopoctenoDoare reconstructed from backups (bots subtracted by an older method) and have no bot attributes. A jump in the series at the boundary between reconstruction and measurement is a change of methodology, not of traffic.
Coverage of the metrics (metriky)
The metriky block appears once in the document and describes the coverage exactly for the data in the document (the chosen granularity, the location filter and the selected sections). It is divided by section: it contains the moto, dily, prislusenstvi and firma elements in the same order as the data, and in each of them metrika elements with the coverage of that section (e.g. the gap in the data of odpovedi 31 August – 7 September 2026 is only in prislusenstvi, akcniOkno in dily has only the pokryti of placement 2). The metrika of the vybirame block is directly in metriky, after the sections. A metric that does not arise in the selected placements or in the section (e.g. video for parts) is not in the block; neither is a section without metrics.
od– first day with data of the metric for the chosen granularity and placement.dopoctenoDo– until when the values are reconstructed from backups (onlyzobrazeniandodpovedi; not output withlocation).merenoOd– since when the new measurement applies.robotiOd– since when bots are separated. These three describe the methodology of the data, so they are output even when they lie beforeod.uplneOd– for a metric summed from several sources with different starts, the day from which all of them are measured; it does not occur today (all sources offormulareandpoptavkystart on the same day).dira(od,do) – a gap in the data in all selected placements; the metric is missing from the series there. A gap in only one of the summed placements is not reported asdira; the affected periods haveneuplne="mereni".pokryti(lokace,od, possiblydira) – coverage by placement; always forakcniOknoandvybirame, for the other metrics withbreakdown=location.nazevandpoznamkaare texts for people (in English withlang=en); do not process them by machine.
Metric catalogue
| Key | Name | Sections and placements where it arises | Data from | Detail |
|---|---|---|---|---|
zobrazeni |
Ad detail views | moto: 1, 2, 3dily: 1, 2prislusenstvi: 1, 2 |
see data availability; until 28 August 2026 reconstructed from backups, measured since 29 August 2026 | summary |
vypis |
Impressions in result lists | moto: 1, 2, 3dily: 1, 2prislusenstvi: 1, 2 |
29 August 2026 | summary |
urlKliknuti |
Click-through to the dealer's website | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
4 September 2026 (first day incomplete) | summary |
odpovedi |
Replies to the ad | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
see data availability; until 7 September 2026 reconstructed from backups, measured since 8 September 2026. For accessories reconstructed until 30 August 2026 and a gap in the data 31 August – 7 September 2026 | summary |
schranka |
Saved to favourites | moto: 1, 2dily: 1, 2prislusenstvi: 1 |
7 September 2026 (first day incomplete) | summary |
videoPrehrani |
Video plays | moto: 1, 2 |
24 September 2026 (first day incomplete), for a dealer only from the first day with a video (see Video) | full |
videoDokoukano |
Watched to the end (video) | moto: 1, 2 |
24 September 2026 (first day incomplete), for a dealer only from the first day with a video uploaded to TipMoto | full |
akcniOkno |
Promotion box (akční okno) – block in a section with lokace and the metrics zobrazeni (promotion box impressions), proklik (click-through from the promotion box) and proklikFirma (click-through on the dealer name; only in the moto section, in placements 1 and 4 – the promotion box for parts is only on the dealer subdomain; without moto in section it is not returned) |
moto: 1, 2, 4dily: 2prislusenstvi: none |
29 August 2026; in placement 4 a gap in the data 15–16 September 2026 | full |
vybirame |
“Our pick” list on MotoInzerce.cz (Vybíráme z nabídky) – block outside the sections with lokace and the metrics zobrazeni (list impressions), proklik (click-through to the ad) and proklikLogo (click-through on the logo) |
outside the sections: 4 | 29 August 2026; a gap in the data 15–16 September 2026 | full |
pobocky |
Branch detail views | firma: 1, 2 |
29 August 2026 | full |
eshopy |
E-shop detail views | firma: 1, 2 |
29 August 2026 | full |
stranky |
Dealer page views (the dealer subdomain and pages on the main website with the dealer in the URL) | firma: 1, 2 |
29 August 2026 | full |
formulare |
Forms from the detail page (forms sent from the detail page of the dealer and the e-shop) | firma: 1, 2 |
7 September 2026 (first day incomplete) | full |
poptavky |
Enquiries and offers (enquiries and offers received) | firma: 1, 2 |
7 September 2026 (first day incomplete) | full |
web |
Click-through to the dealer's website | firma: 1, 2 |
7 September 2026 (first day incomplete) | full |
Placements see the placement table; a combination outside this table does not exist and is missing from the document. By month, the data of metrics measured since 2026 start with the first month of measurement. The new collection separates bots from the first day of measurement (robotiOd = merenoOd).
Video
videoPrehrani= video plays (all sources including YouTube),videoDokoukano= video watched to the end (at least 90 % of the time actually played). Only themotosection, only placements 1 and 2, in detail levelsfullandcustom:.- The video metrics exist only for the days on which the dealer had a video:
videoPrehranifrom the first day on which it had a video on at least one ad (including a deleted one),videoDokoukanofrom the first day on which it had a video uploaded directly to TipMoto. A YouTube video counts from the insertion of the ad, a video uploaded to TipMoto from the day of the upload, in any case at the latest from the first measured play. This day appears inmetrikyas theodof the video metrics. - A dealer that never had a video has no video metrics. A dealer with YouTube videos only has no
videoDokoukano– YouTube does not measure watching to the end. - The
videoUdrzeniblock is only in the ad statistics.
Example section=moto&detail=custom:videoPrehrani,videoDokoukano&from=2026-09-22 (request made on 27 September 2026, shortened) – video is measured since 24 September 2026, so the API narrowed the range and the requested start is in pozadovanoOd:
<rozsah>
<od>2026-09-24</od>
<do>2026-09-27</do>
<period>day</period>
<pozadovanoOd>2026-09-22</pozadovanoOd>
<section>moto</section>
</rozsah>
…
<souhrn>
<od>2026-09-24</od>
<do>2026-09-27</do>
<moto>
<videoPrehrani dni="2" prumerDen="22.50" neuplne="mereni,bezi" roboti="0" aiRoboti="0">94</videoPrehrani>
<videoDokoukano dni="2" prumerDen="10.50" neuplne="mereni,bezi" roboti="0" aiRoboti="0">42</videoDokoukano>
</moto>
</souhrn>
Breakdown by placement
- With
breakdown=location, everyobdobiand thesouhrnadditionally containumisteniblocks after the sections, sorted bylokacein ascending order. The level ofobdobi/souhrnstill carries the totals across placements. - An
umisteniblock containslokace, the sections that have something in that placement according to the catalogue (firmaonly in 1 and 2), and after themvybirame(only in block 4). - The
akcniOknoblocks move into the section inside theumisteniblock of their placement, andvybirameinto theumisteniblock 4 – also in the summary. The section level inobdobi/souhrnthen has noakcniOkno, and theobdobi/souhrnlevel has novybirame. - An
umisteniblock withlokace0(reconstructed history) appears only when the period or the range of the summary reaches intodopoctenoDo.
Example breakdown=location&from=2026-09-14&to=2026-09-16&no-series=true, the block of placement 4 in the summary:
<umisteni>
<lokace>4</lokace>
<moto>
<akcniOkno>
<lokace>4</lokace>
<zobrazeni dni="1" prumerDen="5670.00" neuplne="mereni" roboti="6388" aiRoboti="2647">5670</zobrazeni>
<proklik dni="1" prumerDen="4.00" neuplne="mereni" roboti="0" aiRoboti="0">4</proklik>
<proklikFirma dni="1" prumerDen="1.00" neuplne="mereni" roboti="0" aiRoboti="0">1</proklikFirma>
</akcniOkno>
</moto>
<vybirame>
<lokace>4</lokace>
<zobrazeni dni="1" prumerDen="0.00" neuplne="mereni" roboti="0" aiRoboti="0">0</zobrazeni>
<proklik dni="1" prumerDen="0.00" neuplne="mereni" roboti="0" aiRoboti="0">0</proklik>
<proklikLogo dni="1" prumerDen="0.00" neuplne="mereni" roboti="0" aiRoboti="0">0</proklikLogo>
</vybirame>
</umisteni>
Placement 4 had a gap in the data on 15–16 September 2026, so it has only one complete day (dni="1") and neuplne="mereni".
Agenda elements
| Machine name | Name | Type | Information |
|---|---|---|---|
id |
Dealer ID | integer |
|
id@ref |
Link to the dealer overview | href |
/c/{dealer ID} in the format of the request. |
rozsah/od, rozsah/do |
Range used | date |
Missing for an empty range. |
rozsah/period |
Period length | select |
day, week, month; always. |
rozsah/pozadovanoOd, rozsah/pozadovanoDo |
Requested range | date |
The requested boundary (after filling in default values and swapping), only if it differs from the one used; always for an empty range. |
rozsah/location |
Placement filter | string |
Only if the parameter was used, e.g. 1,2. |
rozsah/breakdown |
Breakdown | select |
location; only if the parameter was used. |
rozsah/section |
Selected sections | string |
Only if the parameter was used, e.g. moto,firma. |
metriky/{sekce}/metrika, metriky/metrika |
Coverage of a metric | element |
Children klic, nazev, od, uplneOd, dopoctenoDo, merenoOd, robotiOd, dira, pokryti, poznamka, see the catalogue and Coverage of the metrics. Directly in metriky there is only the metrika of the vybirame block. |
souhrn |
Summary for the range | element |
od, do, sections, the vybirame block and (with the breakdown) umisteni. |
rada/obdobi |
One period of the series | element |
od, do (days actually covered), tyden (only period=week, e.g. 2026-W38), mesic (only period=month, e.g. 2026-09), sections, the vybirame block and (with the breakdown) umisteni. |
moto, dily, prislusenstvi, firma |
Section | element |
The metrics of the section in catalogue order, followed by the akcniOkno blocks. A section that measured nothing in the period is missing. |
{metrika} |
Value of the metric | integer |
People and unidentified visitors, see the catalogue. |
{metrika}@roboti, {metrika}@aiRoboti |
Bots, AI bots | integer |
See Bots. |
{metrika}@neuplne |
Incomplete value | set |
rozsah, mereni, bezi (separated by commas). |
{metrika}@dni, {metrika}@prumerDen |
Number of days, daily average | integer, decimal |
Only in souhrn. |
akcniOkno, vybirame, umisteni |
Blocks by placement | element |
The placement is in the child lokace, followed by the metrics (in umisteni the sections and the vybirame block of that placement). akcniOkno is inside a section, vybirame after the sections. The blocks are sorted by lokace in ascending order. |
The order of the children is fixed: in obdobi and souhrn the identification (od, do, tyden/mesic), the sections in the order moto, dily, prislusenstvi, firma, the vybirame block, the umisteni blocks; in a section the metrics in catalogue order and the akcniOkno blocks.
Example
GET /c/95/stats.xml?period=month&from=2026-07-01&to=2026-09-27§ion=moto,firma (request made on 27 September 2026, shortened, output with lang=en):
<!--Agenda documentation at: https://api.tipmoto.com/docs/agendas/stats/
Schemas (more about them at https://api.tipmoto.com/docs/ref/schemata/ ):
https://api.tipmoto.com/schemas/stats.xsd
https://api.tipmoto.com/schemas/stats.rng-->
<tipmoto>
<!--Dealer statistics by section (there is no total across sections; deleted ads are included in the totals). Value 0 = measured and nobody came, missing metric or section = not measured. The main number = people and unidentified visitors, bots are in the attributes.-->
<stats>
<id ref="/c/95.xml">95</id>
<!--The range actually used. pozadovanoOd/pozadovanoDo are present only when the API narrowed the range (future, start of the data, whole months outside the daily data); location, breakdown and section only when the parameters were used.-->
<rozsah>
<od>2026-07-01</od>
<do>2026-09-27</do>
<period>month</period>
<section>moto,firma</section>
</rozsah>
<!--Coverage of the metrics in this document by section: od = first day with data (for the chosen granularity and placement), dopoctenoDo = until when the values are reconstructed from backups, merenoOd = since when it is the new measurement, robotiOd = since when bots are separated (attributes roboti and aiRoboti).-->
<metriky>
<moto>
<metrika>
<klic>zobrazeni</klic>
<nazev>Ad detail views</nazev>
<od>2022-05-01</od>
<dopoctenoDo>2026-08-28</dopoctenoDo>
<merenoOd>2026-08-29</merenoOd>
<robotiOd>2026-08-29</robotiOd>
</metrika>
<!-- … vypis, urlKliknuti, odpovedi, schranka, videoPrehrani, videoDokoukano -->
<metrika>
<klic>akcniOkno</klic>
<nazev>Promotion box (akční okno)</nazev>
<od>2026-08-29</od>
<merenoOd>2026-08-29</merenoOd>
<robotiOd>2026-08-29</robotiOd>
<pokryti>
<lokace>1</lokace>
<od>2026-08-29</od>
</pokryti>
<!-- … pokryti 2 -->
<pokryti>
<lokace>4</lokace>
<od>2026-08-29</od>
<dira>
<od>2026-09-15</od>
<do>2026-09-16</do>
</dira>
</pokryti>
</metrika>
</moto>
<firma>
<metrika>
<klic>pobocky</klic>
<nazev>Branch detail views</nazev>
<od>2026-08-29</od>
<merenoOd>2026-08-29</merenoOd>
<robotiOd>2026-08-29</robotiOd>
</metrika>
<!-- … eshopy, stranky, formulare, poptavky, web -->
</firma>
<metrika>
<klic>vybirame</klic>
<nazev>“Our pick” list on MotoInzerce.cz (Vybíráme z nabídky)</nazev>
<od>2026-08-29</od>
<merenoOd>2026-08-29</merenoOd>
<robotiOd>2026-08-29</robotiOd>
<dira>
<od>2026-09-15</od>
<do>2026-09-16</do>
</dira>
<pokryti>
<lokace>4</lokace>
<od>2026-08-29</od>
<dira>
<od>2026-09-15</od>
<do>2026-09-16</do>
</dira>
</pokryti>
</metrika>
</metriky>
<!--Totals for the range used. dni = number of whole days when the metric was measured (without incomplete days and without today), prumerDen = total for these days / dni. neuplne = the value covers only part of the range (mereni, bezi).-->
<souhrn>
<od>2026-07-01</od>
<do>2026-09-27</do>
<moto>
<zobrazeni dni="88" prumerDen="5.30" neuplne="bezi">469</zobrazeni>
<vypis dni="29" prumerDen="236.62" neuplne="mereni,bezi" roboti="612" aiRoboti="259">7024</vypis>
<!-- … urlKliknuti, odpovedi, schranka, videoPrehrani, videoDokoukano -->
<akcniOkno>
<lokace>1</lokace>
<zobrazeni dni="29" prumerDen="0.00" neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</zobrazeni>
<proklik dni="29" prumerDen="0.00" neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</proklik>
<proklikFirma dni="29" prumerDen="0.00" neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</proklikFirma>
</akcniOkno>
<akcniOkno>
<lokace>2</lokace>
<zobrazeni dni="29" prumerDen="0.00" neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</zobrazeni>
<proklik dni="29" prumerDen="0.00" neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</proklik>
</akcniOkno>
<!-- … akcniOkno 4 -->
</moto>
<firma>
<pobocky dni="29" prumerDen="0.55" neuplne="mereni,bezi" roboti="17" aiRoboti="5">16</pobocky>
<!-- … eshopy, stranky, formulare, poptavky -->
<web dni="19" prumerDen="0.05" neuplne="mereni,bezi" roboti="0" aiRoboti="0">1</web>
</firma>
<vybirame>
<lokace>4</lokace>
<zobrazeni dni="27" prumerDen="0.00" neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</zobrazeni>
<proklik dni="27" prumerDen="0.00" neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</proklik>
<proklikLogo dni="27" prumerDen="0.00" neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</proklikLogo>
</vybirame>
</souhrn>
<!--Time series: one obdobi element per day, week (ISO) or month; od/do are the days actually covered.-->
<rada>
<obdobi>
<od>2026-07-01</od>
<do>2026-07-31</do>
<mesic>2026-07</mesic>
<moto>
<zobrazeni>127</zobrazeni>
<odpovedi>0</odpovedi>
</moto>
</obdobi>
<!-- … obdobi 2026-08 -->
<obdobi>
<od>2026-09-01</od>
<do>2026-09-27</do>
<mesic>2026-09</mesic>
<moto>
<zobrazeni neuplne="bezi" roboti="63" aiRoboti="8">211</zobrazeni>
<!-- … vypis, urlKliknuti, odpovedi, schranka, videoPrehrani, videoDokoukano, akcniOkno -->
</moto>
<firma>
<pobocky neuplne="bezi" roboti="16" aiRoboti="5">16</pobocky>
<!-- … eshopy, stranky, formulare, poptavky, web -->
</firma>
<vybirame>
<lokace>4</lokace>
<zobrazeni neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</zobrazeni>
<proklik neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</proklik>
<proklikLogo neuplne="mereni,bezi" roboti="0" aiRoboti="0">0</proklikLogo>
</vybirame>
</obdobi>
</rada>
</stats>
</tipmoto>
In July 2026 only zobrazeni and odpovedi were measured (reconstruction from backups); the other metrics, the firma section and the vybirame block are missing from that period. zobrazeni in the summary has no bot attributes because the range starts before its robotiOd.
JSON
- The elements
obdobi,umisteni,pokryti,akcniOkno,vybirame,metrikaanddiraare always arrays in JSON, even if they occur only once. If they do not occur at all, the key is missing from JSON (not[]). stats,rozsah,metriky,souhrn,radaand the sections (moto,dily,prislusenstvi,firma) are objects. An empty section is not output.- Attributes are sibling keys in the same object as the element; the key name is the element name, an at sign and the attribute name:
"zobrazeni": "1585","zobrazeni@roboti": "706","id@ref": "…". - All values are strings, including numbers (
"1585","28.00"). - A missing metric key = not measured, just like a missing element in XML. The comments from XML are not in JSON.
GET /c/5/stats.json?section=moto&detail=custom:zobrazeni,akcniOkno&from=2026-09-15&to=2026-09-15 (line-wrapped, output with lang=en). The promotion box in placement 4 had a gap in the data on 15 September 2026, so it is missing from the document:
{
"tipmoto": {
"stats": {
"id": "5",
"rozsah": {"od": "2026-09-15", "do": "2026-09-15", "period": "day", "section": "moto"},
"metriky": {"moto": {"metrika": [
{"klic": "zobrazeni", "nazev": "Ad detail views", "od": "2025-08-01", "dopoctenoDo": "2026-08-28", "merenoOd": "2026-08-29", "robotiOd": "2026-08-29"},
{"klic": "akcniOkno", "nazev": "Promotion box (akční okno)", "od": "2026-08-29", "merenoOd": "2026-08-29", "robotiOd": "2026-08-29", "pokryti": [{"lokace": "1", "od": "2026-08-29"}, {"lokace": "2", "od": "2026-08-29"}]}
]}},
"souhrn": {
"od": "2026-09-15", "do": "2026-09-15",
"moto": {
"zobrazeni": "1585",
"akcniOkno": [
{"lokace": "1", "zobrazeni": "0", "proklik": "0", "proklikFirma": "0", "zobrazeni@dni": "1", "zobrazeni@prumerDen": "0.00", "zobrazeni@roboti": "0", "zobrazeni@aiRoboti": "0", "proklik@dni": "1", "proklik@prumerDen": "0.00", "proklik@roboti": "0", "proklik@aiRoboti": "0", "proklikFirma@dni": "1", "proklikFirma@prumerDen": "0.00", "proklikFirma@roboti": "0", "proklikFirma@aiRoboti": "0"},
{"lokace": "2", "zobrazeni": "28", "proklik": "0", "zobrazeni@dni": "1", "zobrazeni@prumerDen": "28.00", "zobrazeni@roboti": "12", "zobrazeni@aiRoboti": "8", "proklik@dni": "1", "proklik@prumerDen": "0.00", "proklik@roboti": "0", "proklik@aiRoboti": "0"}
],
"zobrazeni@dni": "1", "zobrazeni@prumerDen": "1585.00", "zobrazeni@roboti": "706", "zobrazeni@aiRoboti": "136"
}
},
"rada": {"obdobi": [
{"od": "2026-09-15", "do": "2026-09-15", "moto": {
"zobrazeni": "1585",
"akcniOkno": [
{"lokace": "1", "zobrazeni": "0", "proklik": "0", "proklikFirma": "0", "zobrazeni@roboti": "0", "zobrazeni@aiRoboti": "0", "proklik@roboti": "0", "proklik@aiRoboti": "0", "proklikFirma@roboti": "0", "proklikFirma@aiRoboti": "0"},
{"lokace": "2", "zobrazeni": "28", "proklik": "0", "zobrazeni@roboti": "12", "zobrazeni@aiRoboti": "8", "proklik@roboti": "0", "proklik@aiRoboti": "0"}
],
"zobrazeni@roboti": "706", "zobrazeni@aiRoboti": "136"
}}
]},
"id@ref": "/c/5.json"
}
}
}
Errors
An error has the form <tipmoto><chyby><chyba>…</chyba></chyby></tipmoto> in the format of the request (.xml, .json, .html) and respects lang, code-in-response and no-http-errors, see Error handling.
| HTTP code | When |
|---|---|
400 |
invalid value of the period, from, to, location (including 0), breakdown, section, detail or no-series parameter; the message lists the allowed values |
402 |
the login does not have the statsperm permission for the dealer (also when it has no access to the dealer at all); the dealer is suspended or does not have exports allowed |
404 |
the address does not exist |
405 |
a method other than GET |
406 |
an unsupported parameter (order, filter, limit, start, add-row-count, fulltext, ftx-loc, usrval-show, even with the value 0); an invalid xpath; the query is too demanding – shorten the range, use period=month or select fewer metrics (detail=custom:…) |
500 |
an error while executing the query on our server |
503 |
the database server is unavailable; repeat the request later |
Example period=blbost (with lang=en):
<tipmoto>
<success>false</success>
<chyby>
<chyba>Invalid value 'blbost' of URL parameter 'period'. Allowed values are 'day', 'week' and 'month'.</chyba>
</chyby>
</tipmoto>
Example limit=10 (with lang=en):
<tipmoto>
<chyby>
<chyba>The dealer statistics do not support the parameter 'limit' (filtering, sorting and paging are not available for them).</chyba>
</chyby>
</tipmoto>
Extensibility
Elements, attributes and values (e.g. new metrics, blocks, sections or neuplne reasons) may be added; the meaning of an existing element does not change. Ignore unknown elements, attributes and values. New elements are added at the end of the fixed order. A client that validates the output must use the current schema after an extension. We record every extension in the changelog.
