api-docs/docs/node-tracker/markdown/node-tracker.coreplugin.md
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [CorePlugin](./node-tracker.coreplugin.md)
## CorePlugin interface
Interface which defines Core Plugins
<b>Signature:</b>
```typescript
interface CorePlugin
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [activateCorePlugin?](./node-tracker.coreplugin.activatecoreplugin.md) | (core: TrackerCore) => void | <i>(Optional)</i> Called when the plugin is initialised during the trackerCore construction |
| [afterTrack?](./node-tracker.coreplugin.aftertrack.md) | (payload: Payload) => void | <i>(Optional)</i> Called just after the trackerCore callback fires |
| [beforeTrack?](./node-tracker.coreplugin.beforetrack.md) | (payloadBuilder: PayloadBuilder) => void | <i>(Optional)</i> Called just before the trackerCore callback fires |
| [contexts?](./node-tracker.coreplugin.contexts.md) | () => SelfDescribingJson\[\] | <i>(Optional)</i> Called when constructing the context for each event Useful for adding additional context to events |
| [logger?](./node-tracker.coreplugin.logger.md) | (logger: Logger) => void | <i>(Optional)</i> Passed a logger instance which can be used to send log information to the active logger |