diff --git a/core/modules/migrate_drupal/src/Tests/Table/d7/TrackerUser.php b/core/modules/migrate_drupal/src/Tests/Table/d7/TrackerUser.php
index e6c92e2..1e1910a 100644
--- a/core/modules/migrate_drupal/src/Tests/Table/d7/TrackerUser.php
+++ b/core/modules/migrate_drupal/src/Tests/Table/d7/TrackerUser.php
@@ -63,7 +63,7 @@ public function load() {
     ))
     ->values(array(
       'nid' => '1',
-      'uid' => '1',
+      'uid' => '2',
       'published' => '1',
       'changed' => '1421727536',
     ))->execute();
diff --git a/core/modules/tracker/migration_templates/d7_tracker_node.yml b/core/modules/tracker/migration_templates/d7_tracker_node.yml
new file mode 100644
index 0000000..cfcc1c4
--- /dev/null
+++ b/core/modules/tracker/migration_templates/d7_tracker_node.yml
@@ -0,0 +1,12 @@
+id: d7_tracker_node
+label: Tracker node
+migration_tags:
+  - Drupal 7
+source:
+  plugin: tracker_node
+process:
+  nid: nid
+  published: published
+  changed: changed
+destination:
+  plugin: entity:node
diff --git a/core/modules/tracker/migration_templates/d7_tracker_user.yml b/core/modules/tracker/migration_templates/d7_tracker_user.yml
new file mode 100644
index 0000000..816502d
--- /dev/null
+++ b/core/modules/tracker/migration_templates/d7_tracker_user.yml
@@ -0,0 +1,13 @@
+id: d7_tracker_user
+label: Tracker user
+migration_tags:
+  - Drupal 7
+source:
+  plugin: tracker_user
+process:
+  nid: nid
+  uid: uid
+  published: published
+  changed: changed
+destination:
+  plugin: entity:user
diff --git a/core/modules/tracker/src/Plugin/migrate/source/d7/TrackerNode.php b/core/modules/tracker/src/Plugin/migrate/source/d7/TrackerNode.php
new file mode 100644
index 0000000..35cdfbd
--- /dev/null
+++ b/core/modules/tracker/src/Plugin/migrate/source/d7/TrackerNode.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\tracker\Plugin\migrate\source\d7\TrackerNode.
+ */
+
+namespace Drupal\tracker\Plugin\migrate\source\d7;
+
+use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
+
+/**
+ * Drupal 7 tracker node source from database.
+ *
+ * @MigrateSource(
+ *   id = "tracker_node",
+ *   source_provider = "tracker"
+ * )
+ *
+ */
+class TrackerNode extends DrupalSqlBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('tracker_node', 'tn')
+      ->fields('tn', array('nid', 'published', 'changed'));
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    return array(
+      'nid' => $this->t('The {node}.nid this record tracks.'),
+      'publisehd' => $this->t('Boolean indicating whether the node is published.'),
+      'changed' => $this->t('The Unix timestamp when the node was most recently saved or commented on.'),
+    );
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['nid']['type'] = 'integer';
+    return $ids;
+  }
+
+}
diff --git a/core/modules/tracker/src/Plugin/migrate/source/d7/TrackerUser.php b/core/modules/tracker/src/Plugin/migrate/source/d7/TrackerUser.php
new file mode 100644
index 0000000..8b81263
--- /dev/null
+++ b/core/modules/tracker/src/Plugin/migrate/source/d7/TrackerUser.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\tracker\Plugin\migrate\source\d7\TrackerUser.
+ */
+
+namespace Drupal\tracker\Plugin\migrate\source\d7;
+
+use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
+
+/**
+ * Drupal 7 tracker user source from database.
+ *
+ * @MigrateSource(
+ *   id = "tracker_user",
+ *   source_provider = "tracker"
+ * )
+ *
+ */
+
+class TrackerUser extends DrupalSqlBase {
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('tracker_user', 'tu')
+      ->fields('tu', array('nid', 'uid', 'published', 'changed'));
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    return [
+      'nid' => $this->t('The {user}.nid this record tracks.'),
+      'uid' => $this->t('The {users}.uid of the node author or commenter.'),
+      'publisehd' => $this->t('Boolean indicating whether the user is published.'),
+      'changed' => $this->t('The Unix timestamp when the user was most recently saved or commented on.'),
+    ];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['nid']['type'] = 'integer';
+    $ids['uid']['type'] = 'integer';
+    return $ids;
+  }
+
+}
diff --git a/core/modules/tracker/src/Tests/Migrate/d7/MigrateTrackerNodeTest.php b/core/modules/tracker/src/Tests/Migrate/d7/MigrateTrackerNodeTest.php
new file mode 100644
index 0000000..87bb8030
--- /dev/null
+++ b/core/modules/tracker/src/Tests/Migrate/d7/MigrateTrackerNodeTest.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\tracker\Tests\Migrate\d7\MigrateTrackerNodeTest.
+ */
+
+namespace Drupal\tracker\Tests\Migrate\d7;
+
+use Drupal\migrate_drupal\Tests\d7\MigrateDrupal7TestBase;
+use Drupal\node\Entity\Node;
+use Drupal\user\Entity\User;
+use Drupal\user\RoleInterface;
+
+/**
+ * Tests migration of Tracker settings to configuration.
+ *
+ * @group tracker
+ */
+class MigrateTrackerNodeTest extends MigrateDrupal7TestBase {
+
+  static $modules = array(
+    'entity_reference',
+    'node',
+    'text',
+    'tracker',
+  );
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->installEntitySchema('node');
+    $this->installConfig(static::$modules);
+    $this->installSchema('node', ['node_access']);
+    $this->installSchema('tracker', ['tracker_node', 'tracker_user']);
+
+    $this->executeMigration('d7_user_role');
+    $this->executeMigration('d7_user');
+    $this->executeMigration('d7_node_type');
+    $this->executeMigration('d7_node__test_content_type');
+    $this->executeMigration('d7_tracker_node');
+  }
+
+  /**
+   * Tests migration of tracker's variables to configuration.
+   */
+  public function testMigrateTrackerNode() {
+
+  }
+
+}
diff --git a/core/modules/tracker/src/Tests/Migrate/d7/MigrateTrackerUserTest.php b/core/modules/tracker/src/Tests/Migrate/d7/MigrateTrackerUserTest.php
new file mode 100644
index 0000000..e2062a6
--- /dev/null
+++ b/core/modules/tracker/src/Tests/Migrate/d7/MigrateTrackerUserTest.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\tracker\Tests\Migrate\d7\MigrateTrackerUserTest.
+ */
+
+namespace Drupal\tracker\Tests\Migrate\d7;
+
+use Drupal\migrate_drupal\Tests\d7\MigrateDrupal7TestBase;
+use Drupal\node\Entity\Node;
+use Drupal\user\Entity\User;
+use Drupal\user\RoleInterface;
+
+/**
+ * Tests migration of Tracker settings to configuration.
+ *
+ * @group tracker
+ */
+class MigrateTrackerUserTest extends MigrateDrupal7TestBase {
+
+  static $modules = array(
+    'entity_reference',
+    'node',
+    'text',
+    'tracker',
+  );
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->installEntitySchema('node');
+    $this->installConfig(static::$modules);
+    $this->installSchema('node', ['node_access']);
+    $this->installSchema('tracker', ['tracker_node', 'tracker_user']);
+
+    $this->executeMigration('d7_user_role');
+    $this->executeMigration('d7_user');
+    $this->executeMigration('d7_node_type');
+    $this->executeMigration('d7_node__test_content_type');
+    $this->executeMigration('d7_tracker_node');
+  }
+
+  /**
+   * Tests migration of tracker's variables to configuration.
+   */
+  public function testMigrateTrackerUser() {
+
+  }
+
+}
diff --git a/core/modules/tracker/tests/src/Unit/Plugin/migrate/source/d7/TrackerNodeTest.php b/core/modules/tracker/tests/src/Unit/Plugin/migrate/source/d7/TrackerNodeTest.php
new file mode 100644
index 0000000..8386eb7
--- /dev/null
+++ b/core/modules/tracker/tests/src/Unit/Plugin/migrate/source/d7/TrackerNodeTest.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Tests\tracker\Unit\Plugin\migrate\source\d7\TrackerNodeTest.
+ */
+
+namespace Drupal\Tests\tracker\Unit\Plugin\migrate\source\d7;
+
+use Drupal\Tests\migrate\Unit\MigrateSqlSourceTestCase;
+
+/**
+ * Tests D7 tracker node source plugin.
+ *
+ * @coversDefaultClass \Drupal\tracker\Plugin\migrate\source\d7\TrackerNode
+ * @group tracker
+ */
+class TrackerNodeTest extends MigrateSqlSourceTestCase {
+
+  const PLUGIN_CLASS = 'Drupal\tracker\Plugin\migrate\source\d7\TrackerNode';
+
+  protected $migrationConfiguration = [
+    'id' => 'test',
+    'source' => [
+      'plugin' => 'd7_tracker_node',
+    ],
+  ];
+
+  protected $expectedResults = [
+    [
+      'nid' => '2',
+      'published' => '1',
+      'changed' => '1421727536',
+    ]
+  ];
+
+  /**
+  * {@inheritdoc}
+  */
+  protected function setUp() {
+    $this->databaseContents['tracker_node'][] = [
+      'nid' => '2',
+      'published' => '1',
+      'changed' => '1421727536',
+    ];
+    parent::setUp();
+  }
+
+}
diff --git a/core/modules/tracker/tests/src/Unit/Plugin/migrate/source/d7/TrackerUserTest.php b/core/modules/tracker/tests/src/Unit/Plugin/migrate/source/d7/TrackerUserTest.php
new file mode 100644
index 0000000..0b2a486
--- /dev/null
+++ b/core/modules/tracker/tests/src/Unit/Plugin/migrate/source/d7/TrackerUserTest.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Tests\tracker\Unit\Plugin\migrate\source\d7\TrackerUserTest.
+ */
+
+namespace Drupal\Tests\tracker\Unit\Plugin\migrate\source\d7;
+
+use Drupal\Tests\migrate\Unit\MigrateSqlSourceTestCase;
+
+/**
+ * Tests D7 tracker user source plugin.
+ *
+ * @coversDefaultClass \Drupal\tracker\Plugin\migrate\source\d7\TrackerUser
+ * @group tracker
+ */
+class TrackerUserTest extends MigrateSqlSourceTestCase {
+
+  const PLUGIN_CLASS = 'Drupal\tracker\Plugin\migrate\source\d7\TrackerUser';
+
+  protected $migrationConfiguration = [
+    'id' => 'test',
+    'source' => [
+      'plugin' => 'd7_tracker_user',
+    ],
+  ];
+
+  protected $expectedResults = [
+    [
+      'nid' => '1',
+      'uid' => '2',
+      'published' => '1',
+      'changed' => '1421727536',
+    ],
+  ];
+
+  /**
+  * {@inheritdoc}
+  */
+  protected function setUp() {
+    $this->databaseContents['tracker_user'][] = [
+      'nid' => '1',
+      'uid' => '2',
+      'published' => '1',
+      'changed' => '1421727536',
+    ];
+    parent::setUp();
+  }
+
+}
