> For the complete documentation index, see [llms.txt](https://user.netmera.com/netmera-developer-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://user.netmera.com/netmera-developer-guide/api-documentation/recipes/personalizing-bulk-push.md).

# Personalizing a Bulk Push with Profile Attributes

Send one bulk push with profile placeholders so that every user sees their own values.

This recipe shows how to send a single bulk push in which each user sees values from their own profile, such as their name. You write the message once, and Netmera fills in the placeholders for every recipient.

## When to Use

This recipe fits campaigns that address users by name or mention another profile value, such as an offer for a specific user. It builds on the profile data that you set in [Registering Users and Building a Profile](/netmera-developer-guide/api-documentation/recipes/registering-users-and-profiles.md).

## Prerequisites

* REST API key of the application
* Profile attributes defined in the Netmera panel and set for the users, for example `name`
* A default message text for users who do not have the attribute

## Step 1: Check the Profile Data

Read the profile of a sample user with `getProfileAttributes` and confirm that the attributes you plan to use are set.

```bash
curl 'https://restapi.netmera.com/rest/3.0/getProfileAttributes?extId=user_1001' \
  --header 'X-netmera-api-key: <API_KEY>'
```

**Expected result:** The `profile` object contains the attributes used in the placeholders, for example `name`.

## Step 2: Send the Personalized Push

Set `personalizedMessage` in the `message` object of `sendBulkNotification`. Write each placeholder as `@{attributeName}`. The `text` field holds the default message.

```bash
curl https://restapi.netmera.com/rest/3.0/sendBulkNotification \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'X-netmera-api-key: <API_KEY>' \
  --data '{
  "message": {
    "title": "Special Offer",
    "text": "Check out our exclusive special offer.",
    "personalizedMessage": "Hello @{name}, check out our exclusive special offer.",
    "platforms": ["IOS", "ANDROID"]
  },
  "target": {
    "sendToAll": true
  }
}'
```

Users who have the attributes in `personalizedMessage` receive the personalized text. A user who does not have one of the attributes receives the default message in `text`.

**Expected result:** HTTP 200 with a `notificationKey`.

## Step 3: Read the Delivery Statistics

Pass the `notificationKey` to `getPushStats` as shown in [Sending a Push Campaign to a Tagged Audience](/netmera-developer-guide/api-documentation/recipes/sending-push-to-tagged-audience.md).

## Verification Checklist

* Every placeholder uses the exact attribute name in the form `@{attributeName}`
* `text` contains a readable default message for users without the attributes
* `target` is set; to reach all users, use `"sendToAll": true`
* `platforms` lists every platform that should receive the message

## Related Pages

For all bulk options, see [Notifications](/netmera-developer-guide/api-documentation/rest-api/notifications.md) in the REST API documentation. To personalize a one-to-one message with values from your own system, see [Sending Transactional Push Notifications to a Single User](/netmera-developer-guide/api-documentation/recipes/sending-transactional-push.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://user.netmera.com/netmera-developer-guide/api-documentation/recipes/personalizing-bulk-push.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
