# Interface: PageDataSource

Defined in: [types.ts:46](https://github.com/alleyinteractive/allegro/blob/6aebbf1d5d34ded3d128c093d7d30abd96d938be/packages/allegro-platform/resources/js/sdk/types.ts#L46)

## Properties[​](#properties "Direct link to Properties")

| Property     | Type                                                                     | Description                                                                                                                                                                                                                                                                                                                                                                                            | Defined in                                                                                                                                                       |
| ------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| []()`key`    | `string`                                                                 | The key used to look up the value. - meta: the `name` attribute of the <!-- -->tag - dataLayer: the property name inside the <!-- -->JSON - selector: a CSS selector whose textContent is read - attribute: a "selector\@attribute" string (e.g. "body\@data-publisher") - jsonLd: a dot-path like `publisher.name` to traverse nested objects, with optional pipe-delimited fallbacks like \`headline | name`(tries`headline`first, falls back to`name\`)                                                                                                                |
| []()`source` | `"meta"` \| `"dataLayer"` \| `"selector"` \| `"attribute"` \| `"jsonLd"` | How to read the value from the page.                                                                                                                                                                                                                                                                                                                                                                   | [types.ts:48](https://github.com/alleyinteractive/allegro/blob/6aebbf1d5d34ded3d128c093d7d30abd96d938be/packages/allegro-platform/resources/js/sdk/types.ts#L48) |
