# CRM data integration

{% embed url="<https://assets.blings.io/helpcenter/Implementing%20Blings%20with%20Your%20CRM.mp4>" %}

You can connect your CRM to Blings in two simple ways:

1. **Passing variables as URL parameters**
2. **Creating a personalized CRM landing page**

Both methods allow you to inject dynamic user data into the video experience using the same CRM logic you're already using for text personalization.

***

{% tabs %}
{% tab title="Using CRM Tokens as URL Parameters" %}

### Using CRM Tokens as URL Parameters

Most CRM platforms (like Salesforce, HubSpot, Braze, Klaviyo, etc.) support dynamic merge tags in links.\
You can add these tokens directly to the video URL as query parameters.

Example:

```url
https://mycompany.mp5.live/blingsvideo? name={{ FirstName }} & plan={{ PlanType }}
```

When the recipient clicks the link, their personalized data is passed to the Blings SDK and rendered in the video in real time.

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

{% content-ref url="/pages/UHo6aJuJx8xtxvHphO7w" %}
[URL Parameters as Compact Token-Based Approach](/developers/getting-started/how-to-connect-my-data-to-the-sdk/crm-data-integration/url-parameters-as-compact-token-based-approach.md)
{% endcontent-ref %}
{% endtab %}

{% tab title="CRM Data with a Personalized Landing Page" %}

### CRM Data with a Personalized Landing Page

Another option is to create a dynamic landing page using your CRM.

This method allows for a more controlled setup and works well when embedding the video directly into a branded environment.

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

#### Examples by Platform

* Salesforce Marketing Cloud: Use [CloudPages with PURLs](https://help.salesforce.com/articleView?id=mc_cp_use_purls_with_a_cloudpages_landing_page.htm\&type=5)
* Marketo: Use [Personalized Landing Pages](https://docs.marketo.com/display/public/DOCS/Personalizing+Landing+Pages)

In both cases, the CRM renders a page for each user with pre-filled data tokens.

Add the Blings script and define the data object with those tokens:

```
<script>
    var data = {
        // Syntax will vary depending on the CRM
        "name": "<% USER_FIRST_NAME %>",
        "logo": "<% ACCOUNT_LOGO %>"
    }
</script>
```

Once the data is available on the page, initialize the player:

```javascript
BlingsPlayer.create({
    // ...
    data: {
      name: "Dan",
      logo: "https://dan.com/logo.png"
    }
});
```

The page is served to the end user with the tokens already populated, so no backend call is required. The video renders instantly and privately on the user’s device.
{% endtab %}
{% endtabs %}

***

Those methods are fully CRM-agnostic and works with any platform that supports merge tags or dynamic pages.

Here's a short list of common CRMs and their syntax:

* HubSpot → {{ contact.firstname | default("there") }}
* SFMC → %%FirstName%%
* Marketo → {{lead.First Name:default=there}}
* Klaviyo → {{ first\_name|default:"there" }}
* Braze → {{${first\_name} | default:'there'}}
* Iterable → {{firstName}} (or {{firstName | default:"there"}})
* Mailchimp → \*|FNAME|\*
* Generic → keep {{Param1}}

Need help configuring your CRM integration? [Contact us](mailto:support@blings.io).

{% content-ref url="/pages/Zb0Dn0ZonUtvzQYbmyLL" %}
[Embedding GIF with Blings Dynamic Thumbnail](/developers/getting-started/how-to-connect-my-data-to-the-sdk/crm-data-integration/embedding-gif-with-blings-dynamic-thumbnail.md)
{% endcontent-ref %}


---

# 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://help.blings.io/developers/getting-started/how-to-connect-my-data-to-the-sdk/crm-data-integration.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.
