--- title: "Event" slug: "event-data-object-java-library-s2s" description: "Track events with the Java library: event name, event parameters and goals via MappIntelligenceAction, with a code example." status: "update" updated: 2026-11-02T16:48:07Z published: 2026-11-02T16:48:07Z canonical: "docs.mapp.com/event-data-object-java-library-s2s" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Event Events track interactions on your website, such as clicks, scrolls, or other forms of content engagement. With the server-to-server libraries, your server sends the events, for example after a form submission or another action that your backend processes. JavaScript in the visitor’s browser is not required. --- ## Parameters Event parameters enrich event data with additional website-specific information or metrics. They must also be configured in Mapp Q3 before tracking. Find more information [here](/v1/docs/how-to-set-up-custom-parameters). When implementing, include the **ID number** and the **value** as a string. --- ## Goals Website goals measure the success of specific actions on your website. They allow you to analyze user behavior and attribute conversions to campaigns. Goals must be configured before they can be tracked via the library. Find more information [here](/v1/docs/how-to-define-website-goals). When configuring tracking, include the **goal ID** and the **value** as a string. Each goal is considered achieved as soon as a value is tracked, regardless of the actual content of that value. > [!NOTE] > Note > > The predefined goal Order cannot be tracked within the event object. > > Avoid submitting values like "no" for goals such as Newsletter Registration, as this would still mark the goal as achieved. ## Details for the Java Library - **Page name:** Every request also carries a page name. An event is assigned to the page name of the `MappIntelligencePage` object in the same `MappIntelligenceDataMap`. Without a page object, the library uses the default page name derived from the request URL (see [Page](/v1/docs/page-data-object-java-library-s2s)). - **Goal IDs:** Goals are sent as E-Commerce Parameters (`cb<ID>`). Page goals, event goals and the E-Commerce Parameters of products and orders share these IDs. If several objects in the same request use the same ID, only one of the values is sent. - **Null values:** `setName(null)`, or a `setParameter` or `setGoal` value `null`, counts as not set. The value is not transmitted and no exception is thrown. --- **Supported Methods** | **Method** | **Description** | **Where to configure *** | **Where to analyze** | | --- | --- | --- | --- | | **constructor** | Defines the initial event request and can overwrite the default event naming. | – | *Navigation > Events* | | **setName** | Defines the unique identification of the event. | – | *Navigation > Events* | | **setParameter** | Tracks additional event-specific information or metrics. Follow the syntax guidelines when defining parameters. | EP > Own Configuration | *Navigation > Event Parameters > [Name of Parameter]* | | **setGoal** | Tracks website goals that are triggered by events (e.g. registrations or purchases). | EC > Own Configuration | Text: *E-Commerce > E-Commerce Parameters > [Name]* / Number: Metric | * **Configuration Path Abbreviations:** - **EP** = *Mapp Q3 > Configuration > Custom Parameters > Event Parameters > Preconfigured > …* - **EC** = *Mapp Q3 > Configuration > Custom Parameters > E-Commerce Parameters > Preconfigured > …* #### Generated request parameters | **Method** | **Request parameter** | **Constant** | | --- | --- | --- | | **constructor** / **setName** | `ct` | `ACTION_NAME` | | **setParameter** | `ck<ID>` | `CUSTOM_ACTION_PARAMETER` | | **setGoal** | `cb<ID>` | `CUSTOM_PRODUCT_PARAMETER` | > [!NOTE] > Note > > Values that are empty or exactly `0`, `0.0`, `false` or `{}` are not transmitted. For example, an event parameter or goal with the value `0` or `false` is not sent. To transmit such a value, send the request with a parameter map (see Request Parameters). **Methods** #### constructor ```java MappIntelligenceAction mappActionData = new MappIntelligenceAction(); ``` ```java /** * @param n Unique identification of the action */ MappIntelligenceAction mappActionData = new MappIntelligenceAction(String n); ``` #### setName ```java /** * @param n Unique identification of the action * * @return MappIntelligenceAction */ mappActionData.setName(String n); ``` #### setParameter ```java /** * You can use parameters to enrich analytical data with your own website-specific information and/or metrics. * Observe the syntax guidelines when defining parameters. * * @param id    ID of the parameter * @param value Value of the parameter * * @return MappIntelligenceAction */ mappActionData.setParameter(int id, String value); ``` #### setGoal ```java /** * Needed when website goals are based on events. * * @param id    ID of the parameter * @param value Value of the parameter * * @return MappIntelligenceAction */ mappActionData.setGoal(int id, String value); ``` **Example** ```java MappIntelligenceConfig mic = new MappIntelligenceConfig( "111111111111111", "analytics01.wt-eu02.net" ); MappIntelligenceTracking mit = new MappIntelligenceTracking(mic); MappIntelligenceAction mappActionData = new MappIntelligenceAction(); mappActionData.setName("foo.bar")    .setParameter(2, "param2")    .setParameter(15, "param15")    .setGoal(2, "goal2")    .setGoal(15, "goal15"); mit.track((new MappIntelligenceDataMap()).action(mappActionData)); ```