# Add a New Provider (Server)

## Introduction

This document provides a step-by-step guide to adding a provider to the server-side configuration. All the required information is collected directly from the server.&#x20;

## Procedure

To add a new Provider on Ingest Labs, perform the following steps:

**Step 1:** Click **Add Provider** and select **Server** from the options available at the top-right corner of the screen.

<figure><img src="/files/QzJRkvmZDPTGpQfhL1Yc" alt=""><figcaption></figcaption></figure>

**Step 2:** The **Provider Template** panel appears on the right side of the screen.\
Select a template from the available list, or use the **Search** bar to quickly find a specific template.

![c](https://ingest-lab.netlify.app/images/providersimages/customimageprovider.png)

**Step 3:** Let's take an example of the **Facebook Conversion API** provider template.

<figure><img src="/files/X70LLjXoacO0DaqhN3rT" alt=""><figcaption></figcaption></figure>

Note: In the list, each template includes a label such as *IMG*, *JS*, or *APP*, indicating whether the provider uses an image-based, JavaScript-based, or app-based implementation.

**Step 4:** The **Provider Details** section is automatically pre-filled based on the selected provider.\
However, you can make changes if needed by editing the available fields.

<figure><img src="/files/d6rwCFYgdYOap86ObSZM" alt=""><figcaption></figcaption></figure>

**Step 5:** In the **Attributes** section, you can view the attributes for **Data Elements** and **Transformers**.

**Step 5.1:** Click **Choose Data Element** to select the relevant data element for the attribute.

<figure><img src="/files/SXL9ldz9jJ64agjP8WCP" alt=""><figcaption></figcaption></figure>

**Step 5.1.1:** The **Select Data Element** panel opens on the right side of the screen.\
At the top of this panel, you will see a **Search** bar.

You can do one of the following:

* Use the **Search** bar to find a specific data element, or
* Browse and select from the list displayed under the two tabs:
  * **User-Defined**
  * **Default**

<figure><img src="/files/jJpDtk20Lq4MAov99XOf" alt=""><figcaption></figcaption></figure>

**Step Result:** The selected Data Element is visible in the Value section.<br>

**Note:** To cancel the selected Data Element, click the small **x icon** next to the selected item.

<figure><img src="/files/SeiNAo38sJjysstZtH3g" alt=""><figcaption></figcaption></figure>

**Step 5.1.2:** Settings Configuration:

Under the **Settings** section, the following checkboxes are available:

* Mandator&#x79;**:** Ensures the attribute must be set.&#x20;
* Fata&#x6C;**:** Terminates the process if the value is missing or invalid.
* Ignore If Empt&#x79;**:** Skips the attribute during processing if no value is provided.
* Hash (SHA256)**:** Converts the value into a secure SHA256 hash.

<figure><img src="/files/DXRvmkVqLHUZigQZJS7l" alt=""><figcaption></figcaption></figure>

**Step 5.1.3:** Click **Settings** to configure these options.

<figure><img src="/files/kTUX2kicr6usfTBBCy2I" alt=""><figcaption></figcaption></figure>

**Step 5.1.4:** The **Attribute Settings** window opens.

<figure><img src="/files/Y9SBcBoAB4pEND2uFrMj" alt=""><figcaption></figcaption></figure>

**Note**:&#x20;

* All previously selected attributes will appear ticked.
* You can uncheck any previously selected items or check the boxes for new attributes as needed.

<figure><img src="/files/c97ZBEsxL3CNjb2qgNtZ" alt=""><figcaption></figcaption></figure>

**Step 5.1.5:** Under the **Transformers** section:

* URL Encode: Check this box if you want the value to be automatically encoded for safe URL transmission.

<figure><img src="/files/Xsx6Um5E46Hjbtd4nLzL" alt=""><figcaption></figcaption></figure>

**Step 5.1.6:** Click the **Data Type Conversion** drop-down.\
\
The following options are available:

* No Conversion: No change will be applied to the data.
* Convert to Boolean: Changes the data to `true` or `false`.
* Convert to Number: Converts the input into a numeric value.
* Convert to Array: Transforms the data into an array format.
* Convert to Object Spread: Moves JSON attributes from a nested level to the root level.

<figure><img src="/files/AQXTM2qVKYTsH1ZL9YQV" alt=""><figcaption></figcaption></figure>

**Step 5.1.7:** Redaction Options

In the **Redaction** section, two checkboxes are available:

* Ignore Redaction: Skips applying redaction rules for this attribute.
* Exclude from Request Body: Prevents this attribute from being included in the outgoing request payload.

<figure><img src="/files/Be8h7OJvlj7CS6bEWYl1" alt=""><figcaption></figcaption></figure>

**Step 5.1.8:** Once all the required fields are filled:

* Click **Confirm** to save the configuration.
* **Note**: To discard changes, click **Cancel**.

<figure><img src="/files/AFfUx789uD8Mp2wnwweS" alt=""><figcaption></figcaption></figure>

**Step 5.2:** Click Choose Transforme&#x72;**.**

<figure><img src="/files/CTBL8Uxq1UIgK8ibHWB1" alt=""><figcaption></figcaption></figure>

**Step 5.2.1:** The **Select Transformer** panel opens on the **right side** of the screen.

At the top of the panel, there is a **Search Bar**.\
You can either:

* Use the search bar to quickly find a Transformer, or
* Browse through the list displayed below and select a Transformer manually.

<figure><img src="/files/9mRfxn6UP0U7f5w98iO4" alt=""><figcaption></figcaption></figure>

**Step Result:** The selected Transformer is visible in the Value section.

<figure><img src="/files/1Fycipuhx5TljG3otCOE" alt=""><figcaption></figcaption></figure>

**Note:** To cancel the selected Transformer, click the small **x icon** next to the selected item.

<figure><img src="/files/NGhPZr7dL8WwyqjG49xK" alt=""><figcaption></figcaption></figure>

**Step 5.2.2:** Settings Configuration:

Under the **Settings** section, the following checkboxes are available:

* Mandator&#x79;**:** Ensures the attribute must be set.&#x20;
* Fata&#x6C;**:** Terminates the process if the value is missing or invalid.
* Ignore If Empt&#x79;**:** Skips the attribute during processing if no value is provided.
* Hash (SHA256)**:** Converts the value into a secure SHA256 hash.

<figure><img src="/files/pm8mARdebeCpxnGU6Ck2" alt=""><figcaption></figcaption></figure>

**Step 5.2.3:** Click **Settings** to configure these options.

<figure><img src="/files/hvg26s2mSLAQIE1HlKLZ" alt=""><figcaption></figcaption></figure>

**Step 5.2.4:** The **Attribute Settings** window opens.

* All previously selected attributes will appear ticked.
* You can uncheck any previously selected items or check the boxes for new attributes as needed.

<figure><img src="/files/WyapAOLlqbIOZ50veM4j" alt=""><figcaption></figcaption></figure>

**Step 5.2.5:** Click the **Data Type Conversion** drop-down menu.

* Select the appropriate conversion type from the available options:

<figure><img src="/files/SMIXcpYqgzcK8d3R2kiO" alt=""><figcaption></figcaption></figure>

| Data Type                | Description                                                                               |
| ------------------------ | ----------------------------------------------------------------------------------------- |
| No Conversion            | Indicates that there is no conversion required for the data type.                         |
| Convert to Boolean       | Converts the input data to Boolean.                                                       |
| Convert to Number        | Converts the input data to a number.                                                      |
| Convert to Array         | Converts the input data to Array.                                                         |
| Convert to Object Spread | Converts the JSON attributes under a parent level attribute to the root level attributes. |

**Step 5.2.6:** In the **Redaction** section, two checkboxes are available:

* **Ignore Redaction**: Skips applying redaction rules for this attribute.
* **Exclude from Request Body**: Prevents this attribute from being included in the outgoing request payload.

<figure><img src="/files/kiABV5NuActvoxxOFvQL" alt=""><figcaption></figcaption></figure>

**Step 5.2.7:** Once all the required fields are filled:

* Click **Confirm** to save the configuration.
* **Note**: To discard changes, click **Cancel**.

<figure><img src="/files/yCuLetejMPyJ6PZz9hnX" alt=""><figcaption></figcaption></figure>

**Step 6:** HTTP Headers (Optional)

**Step 6.1:** To add HTTP headers:

1. Click **Add Header**.
2. In the **Name** field, enter the header name.
3. In the **Value** field, enter the corresponding value.
4. Select the **Mandatory** checkbox if the header is required.

Note: To delete a header, click the **Delete** option next to it.

<figure><img src="/files/Ftz3yUvOZMIQx9SVQ3wO" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/kiRLLKl1CZSfOuhuLwtl" alt=""><figcaption></figcaption></figure>

**Step 7**: Connectors:

In the **Connectors** section, you will see two fields: **Name** and **Value**.

* The **Name** field is pre-filled.
* You need to enter the corresponding **Value** based on your configuration.

<figure><img src="/files/4b0VDnRphSOT0rBx67jM" alt=""><figcaption></figcaption></figure>

**Step 8:** Final Step

Once all the required fields are completed, scroll up and click **Save** to apply the changes.

<figure><img src="/files/Fz70Wq7I3vNpONO7VjOE" alt=""><figcaption></figcaption></figure>

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaDMDmegqZUJFhJhF4JQG%2Fuploads%2FypeamAdyR6nIRKxMf49w%2FAdd%20a%20new%20Provider%20server%20side.mp4?alt=media&token=d8c52076-51f6-4ffd-989d-95ef22a4ba79>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ingestlabs.com/tag-manager/providers/add-a-new-provider-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
