# ContentPieces: Matomo Matomo Contents Content Pieces
## Documentation
Content impressions and interactions over one period, broken down by content piece, one row per piece (Matomo's own 'piece - name' concatenation).
- Catalog: `Matomo`
- Schema: `Contents`
- Label: Matomo Contents Content Pieces
This is a read-only table function. The Matomo API may not support changing the data or the Invantive UniversalSQL driver for Matomo does not cover it. In the latter case, please use the table NativePlatformScalarRequests to upload data to the Matomo API.
## Parameters of Table Function
The following parameters can be used to control the behaviour of the table function `ContentPieces`. A value must be provided at all times for required parameters, but optional parameters in general do not need to have a value and the execution will default to a pre-defined behaviour. Values can be specified by position and by name. In both cases, all parameters not specified will be evaluated using their default values.
Value specification by position is done by listing all values from the first to the last needed value. For example: a `select * from table(value1, value2, value3)` on a table with four parameters will use the default value for the fourth parameter and the specified values for the first three.
Value specification by name is done by listing all values that require a value. For example with `select * from table(name1 => value1, name3 => value3)` on the same table will use the default values for the second and fourth parameters and the specified values for the first and third.
| Name | Data Type | Required | Default Value | Documentation |
|---|:---:|:---:|:---:|---|
| `date` | `varchar2` | ☑ | | The date the period is anchored on, or a range such as '2026-08-01,2026-08-31'. |
| `id_site` | `number` | ☑ | | The Matomo site ID to report on. |
| `period` | `varchar2` | ☑ | | The reporting period: day, week, month, year or range. |
## Columns of Table Function
The columns of the table function `ContentPieces` are shown below. Each column has an SQL data type.
| Name | Data Type | Label | Required | Documentation |
|---|:---:|---|:---:|---|
| `interaction_rate` | `varchar2` | | ☐ | nb_interactions as a share of nb_impressions, formatted by Matomo itself as a percentage. |
| `label` | `varchar2` | | ☐ | The content's own piece, concatenated by Matomo itself with the content name ('piece - name') where more than one name shares a piece. |
| `nb_impressions` | `varchar2` | | ☐ | Number of times this content was shown. Numeric, though Matomo does not report it with a consistent type. |
| `nb_interactions` | `int32` | | ☐ | Number of times this content was interacted with (for instance clicked). |
| `nb_uniq_visitors` | `int32` | | ☐ | Number of unique visitors shown this content. |
| `nb_visits` | `varchar2` | | ☐ | Number of visits during which this content was shown. Numeric, though Matomo does not report it with a consistent type - see UserCountry.Country's own equivalent column. |
| `segment` | `varchar2` | | ☐ | Matomo's own segment expression selecting exactly this content piece, usable as the segment argument of another reporting table. |