---
description: >-
  This document covers the deployment instructions for Adobe Launch Extension
  for Lemnisk JavaScript SDK.
---

# Adobe Launch Private Extension

## Installation Instructions

Lemnisk's Launch Extension is a private extension. The code is provided to our customers (for security reasons) and they can deploy it to their Launch Property.

**Step 1:** Installation is only needed if you don't have 'Lemnisk AIA' in your "Properties" -> "Extension"-> "Catalog" already.  If it is present, you can skip the installation step.

**Step 2:** Download the code (zip file) from [here](https://github.com/lemnisk-co/adobe-launch-extension/archive/refs/heads/main.zip) or clone the repository

```
git clone git@github.com:lemnisk-co/adobe-launch-extension.git
```

{% hint style="info" %}
For TALIC please download from the TALIC branch [here](https://github.com/lemnisk-co/adobe-launch-extension/archive/refs/heads/TALIC.zip) or switch to TALIC branch in the git repo above.
{% endhint %}

**Step 3:** Please run the following command inside `adobe-launch-extension` folder.

```bash
npx @adobe/reactor-packager
```

**Step 4:** Publish the package to your Adobe Organization.

```
npx @adobe/reactor-uploader package-lemnisk-<abc>-<x.y.z>.zip --private-key=<private-key> --org-id=xxxx@AdobeOrg --tech-account-id=yyyy@techacct.adobe.com --api-key=<api-key> --client-secret=<api-val>
```

**Step 5:** Once the integration works, you can publish it to other properties in your organization

```
npx @adobe/reactor-releaser --private-key=<private-key> --org-id=xxxx@AdobeOrg --tech-account-id=yyyy@techacct.adobe.com --api-key=<api-key> --client-secret=<api-val>
```

Please refer [Adobe Access Token](https://developer.adobelaunch.com/api/guides/access_tokens/) guide for generating the credentials needed for the above command.

{% hint style="danger" %}
Important

In order to create an Integration in Adobe I/O you must be an Experience Cloud Organization Administrator or an Experience Cloud Org Developer.
{% endhint %}

## Adobe Launch Configuration

**Step 1:** Go to Adobe Launch, and pick a Property.

**Step 2:** Once you are inside, click on "Extensions".

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2Fq1te0MedTDLGs8flaU0g%2FIMG%201.png?alt=media&#x26;token=336719c0-3e2b-4ba3-8e7e-fcdc1ca121dd" alt=""><figcaption></figcaption></figure>

**Step 3:** Then click on "Catalog".

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FBVNRhK5xdakw2rBmTOD7%2FIMG%202.webp?alt=media&#x26;token=ec00de98-5eec-4150-84df-7570edd8c7f6" alt=""><figcaption></figcaption></figure>

**Step 4:** Search "Lemnisk AIA", and you will get the Lemnisk extension.

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FCjDPRSedp69fYpiTcvAK%2FIMG%203.png?alt=media&#x26;token=ee33b324-019c-4c72-a4be-ea8c3ef780c2" alt=""><figcaption></figcaption></figure>

**Step 5:** Click the "Install" button.

**Step 6:** Determine the different environments in which you want to configure the extension. This typically includes development, staging, and production. This can be determined by creating an “Environment” variable as shown in the below image.

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FrT6VI9A2Ax0yOFLYe0Cj%2FIMG%204.JPG?alt=media&#x26;token=a37e4fe3-5ca6-450d-975f-6782cd56a215" alt=""><figcaption></figcaption></figure>

**Step 7:** Configure dynamic values "Client ID" and "Write Key" (you can reach out to your Lemnisk customer success partner for these details or get them from the [Lemnisk CDP UI](https://cdp.lemnisk.co/app/login/)). Using data elements instead of specifying a static value, reference the corresponding data element that holds the environment information.

**Example:**

**Implement environment-specific logic:**&#x20;

Within your code or rules, you can use the value of the "Environment" data element to conditionally apply different behaviors or configurations based on the environment.

Client ID

<div><figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FCruLqOHempBUBNSaV2UQ%2FIMG%205.JPG?alt=media&#x26;token=6017a18f-7d6b-4de1-8181-f662ccae8960" alt=""><figcaption></figcaption></figure> <figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2F1w2PWzbAJ6fJ3ZZeV7tM%2FIMG%206.JPG?alt=media&#x26;token=91a48f2f-aa81-4cea-b2c5-e30db5fe7c67" alt=""><figcaption></figcaption></figure></div>

WriteKey

<div><figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FOjHewfX5zc8A7wFioBwe%2FIMG%207.JPG?alt=media&#x26;token=38fca4ef-5dde-42f7-bfa4-6d39d6910384" alt=""><figcaption></figcaption></figure> <figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FhVV4YaebcIGzgyaXxrvz%2FIMG%208.JPG?alt=media&#x26;token=352cc1d1-6048-4b30-a778-86ca45569a04" alt=""><figcaption></figcaption></figure></div>

**Step 8:** By referencing these data elements in your extension configuration and implementing environment-specific logic, you can effectively customize the behavior of the extension based on the environment in which it is deployed.

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2Fo63nqjU6IF05D3fnuLvL%2FIMG%209.png?alt=media&#x26;token=117a817d-4659-4686-a5af-d3cf386eaf21" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Please note that you can use DataElements to pick the write key and client id from the environment.  This way you can do dev/staging/prod environment differentiation for Lemnisk tags.  When you do this, please take care of any AEM-specific tags too (say many of you may have Browser Push tags from Lemnisk - this is not covered by this Launch configuration and has to be handled by AEM depending on the environment)..
{% endhint %}

{% hint style="info" %}
Note that for the above configuration, you can hard-code write key and client id.  This way Lemnisk will load the same tags across dev/staging/prod environments.  You can still be able to make the environment differentiation in Segmentation variables in Lemnisk UI.  Most of the clients who are on the previous versions of the Lemnisk Launch extension are in this configuration.
{% endhint %}

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FhUbqULNzThgz7tRlZznk%2FIMG%2010.png?alt=media&#x26;token=7b93a4c4-bf00-4452-b9e7-aac0e7207bc8" alt=""><figcaption></figcaption></figure>

## Action Configuration

The Lemnisk team will share an "Event Tracking Plan" in an Excel sheet.  This will talk about which website "Events" should trigger which Lemnisk Extension "Actions".  Please configure them.  For example&#x20;

**Step 1:** Let us configure a Page Action.  Created a Rule named "pageLoad", triggered by the "Core" extension, "Window Loaded" event.  Click on the "Actions"/"Add" button.

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FCvOqOsdlGquNRkqp75wm%2FIMG%2011.png?alt=media&#x26;token=7cd8906f-6c1b-44a4-beea-db49bf2da2c8" alt=""><figcaption></figcaption></figure>

**Step 2:** From the "Extension" dropdown, select "Lemnisk AIA".

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2F9F0HPpDw0cjoACwaZiaM%2FIMG%2012.png?alt=media&#x26;token=f10a622f-c061-4016-af35-c7e66c233dea" alt=""><figcaption></figcaption></figure>

**Step 3:** From the "Action Type" pick "Page".

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FSQuHL7jszhh9Zcp2jlcK%2FIMG%2014.webp?alt=media&#x26;token=42282b44-e56d-4e88-8b5e-fa26e6f3322b" alt=""><figcaption></figcaption></figure>

**Step 4:** Please fill in the appropriate fields, if needed you can use the Data Element icon next to the text fields.

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2Fdhc4iUpPYJS6Qu2BOnDR%2FIMG%2015.webp?alt=media&#x26;token=ed8e12a6-e71c-4397-93df-dcc8f72e4aed" alt=""><figcaption></figcaption></figure>

**Step 5:** Picking data elements. Once done, press "Keep Changes".

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FxoY2tRgJxBqJRQT0qkIg%2FIMG%2016.webp?alt=media&#x26;token=ddf59ff1-3d04-4419-92c7-d9c0a62fd980" alt=""><figcaption></figcaption></figure>

**Step 6:** Now press 'Save'.

<figure><img src="https://1782533751-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazJDZwzHkmWIbkYOetQH%2Fuploads%2FUxU0G1mpJVgRqqjQhY0U%2FIMG%2017.webp?alt=media&#x26;token=09cfa3f9-4081-4c6d-9c24-04d1676b8a69" alt=""><figcaption></figcaption></figure>

We are done. You can follow the Adobe documentation for deploying these changes in your dev/staging/prod environments!
