> For the complete documentation index, see [llms.txt](https://ivory-docs.gitbook.io/ivory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ivory-docs.gitbook.io/ivory/how-to-guides/bulk-data-elements.md).

# Bulk Data Element Creation

Create multiple data elements from a data layer

Create dozens of data elements from a data layer object in one operation.

## Scenario

A site has a `digitalData` object with page information:

```javascript
digitalData = {
  page: {
    pageInfo: {
      pageName: "Homepage",
      pageURL: "https://example.com",
      pageType: "home",
      siteSection: "main"
    },
    device: {
      deviceType: "desktop",
      browserName: "Chrome"
    }
  }
}
```

Create data elements for all properties.

## Steps

### 1. Copy the Data Layer

1. Open browser DevTools (F12)
2. In Console, type the data layer object name (e.g., `digitalData`)
3. Expand and copy the structure

### 2. Create Data Elements

Click **Create** and enter:

```
Create JavaScript variable data elements for these properties
from the digitalData object:

- page.pageInfo.pageName
- page.pageInfo.pageURL
- page.pageInfo.pageType
- page.pageInfo.siteSection
- page.device.deviceType
- page.device.browserName

Use the property name as the data element name (e.g., "pageName").
Path format: digitalData.page.pageInfo.pageName
```

### 3. Review and Approve

Each data element appears in the review carousel:

* Name: `pageName`
* Type: JavaScript Variable
* Path: `digitalData.page.pageInfo.pageName`

Approve each one, or click **Approve All** if they look correct.

### 4. Results

All data elements are created in Adobe Tags. Use them in rules:

* `%pageName%`
* `%pageURL%`
* `%deviceType%`

## Tips

**Naming convention:**

```
Name each data element with prefix "dl_" (e.g., dl_pageName)
```

**Specific properties only:**

```
Only create data elements for pageInfo properties, not device
```

**Different data layer:**

```
The data layer is window.dataLayer[0] not digitalData
```
