diff --git a/src/components/Home/ConsumptionView.spec.tsx b/src/components/Home/ConsumptionView.spec.tsx
index 704192b3e8ed75db2cd2b97c32bc85cc5e9e7520..1fe128cadf0d202e2d308e2c282741e79a2fc053 100644
--- a/src/components/Home/ConsumptionView.spec.tsx
+++ b/src/components/Home/ConsumptionView.spec.tsx
@@ -7,6 +7,7 @@ import React from 'react'
 import * as reactRedux from 'react-redux'
 import { Provider } from 'react-redux'
 import * as chartActions from 'store/chart/chart.slice'
+import { mockCustomPopup } from '../../../tests/__mocks__/customPopup.mock'
 import { mockTestProfile1 } from '../../../tests/__mocks__/profileType.mock'
 import {
   createMockEcolyoStore,
@@ -314,7 +315,10 @@ describe('ConsumptionView component', () => {
         fluidStatus: updatedStatus,
         releaseNotes: mockInitialEcolyoState.global.releaseNotes,
       },
-      modal: { partnersIssueModal: mockedPartnersIssueModal },
+      modal: {
+        partnersIssueModal: mockedPartnersIssueModal,
+        customPopupModal: mockCustomPopup,
+      },
     })
     useDispatchSpy.mockReturnValue(jest.fn())
     mockUpdateProfile.mockResolvedValue(mockTestProfile1)
diff --git a/src/components/Home/ConsumptionView.tsx b/src/components/Home/ConsumptionView.tsx
index baa2de7e732b7acab84bb7e4def60d4ff12de6ce..133e524a8df89357478c3c191de0eda89781ce94 100644
--- a/src/components/Home/ConsumptionView.tsx
+++ b/src/components/Home/ConsumptionView.tsx
@@ -21,8 +21,8 @@ import { useNavigate } from 'react-router-dom'
 import ProfileService from 'services/profile.service'
 import { AppActionsTypes, AppStore } from 'store'
 import { setCurrentTimeStep, setShowOfflineData } from 'store/chart/chart.slice'
-import { setCustomPopup, showReleaseNotes } from 'store/global/global.actions'
-import { openPartnersModal } from 'store/modal/modal.slice'
+import { showReleaseNotes } from 'store/global/global.actions'
+import { openPartnersModal, setCustomPopup } from 'store/modal/modal.slice'
 import {
   getKonnectorUpdateError,
   getTodayDate,
@@ -43,8 +43,8 @@ const ConsumptionView: React.FC<ConsumptionViewProps> = ({
   const isMulti = fluidType === FluidType.MULTIFLUID
   const {
     chart: { currentTimeStep, loading, showOfflineData },
-    global: { fluidStatus, releaseNotes, customPopupModal },
-    modal: { partnersIssueModal },
+    global: { fluidStatus, releaseNotes },
+    modal: { partnersIssueModal, customPopupModal },
   } = useSelector((state: AppStore) => state.ecolyo)
 
   const [openReleaseNoteModal, setOpenReleaseNoteModal] = useState<boolean>(
diff --git a/src/components/Splash/SplashRoot.tsx b/src/components/Splash/SplashRoot.tsx
index a4c7e2f6470b64ee8c15a39ff4f09189410c2411..69efd04518d0a0b4aaeab98845f41bde7819d889 100644
--- a/src/components/Splash/SplashRoot.tsx
+++ b/src/components/Splash/SplashRoot.tsx
@@ -44,7 +44,6 @@ import {
 } from 'store/challenge/challenge.actions'
 import { setSelectedDate } from 'store/chart/chart.slice'
 import {
-  setCustomPopup,
   setFluidStatus,
   showReleaseNotes,
   toggleAnalysisNotification,
@@ -53,7 +52,7 @@ import {
   toggleChallengeExplorationNotification,
   updateTermValidation,
 } from 'store/global/global.actions'
-import { openPartnersModal } from 'store/modal/modal.slice'
+import { openPartnersModal, setCustomPopup } from 'store/modal/modal.slice'
 import { updateProfile } from 'store/profile/profile.actions'
 import { updateProfileEcogestureSuccess } from 'store/profileEcogesture/profileEcogesture.actions'
 import { updateProfileType } from 'store/profileType/profileType.actions'
diff --git a/src/models/global.model.ts b/src/models/global.model.ts
index 1d4edf10f092d53335e3f06ba1804cf1c83e9115..30118eeb38bb9f93663a277824778e5b2c92f39d 100644
--- a/src/models/global.model.ts
+++ b/src/models/global.model.ts
@@ -1,7 +1,6 @@
 import { FluidType } from 'enum/fluid.enum'
 import { ScreenType } from 'enum/screen.enum'
 import { TermsStatus } from 'models'
-import { CustomPopup } from './customPopup.model'
 import { FluidStatus } from './fluid.model'
 import { PartnersInfo } from './partnersInfo.model'
 import { ReleaseNotes } from './releaseNotes.model'
@@ -17,7 +16,6 @@ export interface GlobalState {
   termsStatus: TermsStatus
   fluidStatus: FluidStatus[]
   fluidTypes: FluidType[]
-  customPopupModal: CustomPopup
   shouldRefreshConsent: boolean
   sgeConnect: SgeStore
   partnersInfo: PartnersInfo
diff --git a/src/models/modal.model.ts b/src/models/modal.model.ts
index 94560f57f3731a77b4346322251c9bd161f02f0b..0dbb67b01b0ebc564477a51773902c2434199297 100644
--- a/src/models/modal.model.ts
+++ b/src/models/modal.model.ts
@@ -1,4 +1,7 @@
+import { CustomPopup } from 'models/customPopup.model'
+
 export interface ModalState {
+  customPopupModal: CustomPopup
   isConnectionModalOpen: boolean
   isFeedbacksOpen: boolean
   partnersIssueModal: {
diff --git a/src/store/global/global.action.spec.ts b/src/store/global/global.action.spec.ts
index 2a75a86c38b9fc84f2a84591df9c2d6e738ac9a7..255bdc56ca394e2e97bf2970aded58109bd10a7f 100644
--- a/src/store/global/global.action.spec.ts
+++ b/src/store/global/global.action.spec.ts
@@ -1,22 +1,19 @@
 import { ScreenType } from 'enum/screen.enum'
-import { mockCustomPopup } from '../../../tests/__mocks__/customPopup.mock'
 import { mockInitialGlobalState } from '../../../tests/__mocks__/store'
 import {
-  changeScreenType,
   CHANGE_SCREEN_TYPE,
   GlobalActionTypes,
-  setCustomPopup,
-  setFluidStatus,
-  SET_CUSTOM_POPUP,
   SET_FLUID_STATUS,
-  toggleAnalysisNotification,
-  toggleChallengeActionNotification,
-  toggleChallengeDuelNotification,
-  toggleChallengeExplorationNotification,
   TOGGLE_ANALYSIS_NOTIFICATION,
   TOGGLE_CHALLENGE_ACTION_NOTIFICATION,
   TOGGLE_CHALLENGE_DUEL_NOTIFICATION,
   TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION,
+  changeScreenType,
+  setFluidStatus,
+  toggleAnalysisNotification,
+  toggleChallengeActionNotification,
+  toggleChallengeDuelNotification,
+  toggleChallengeExplorationNotification,
 } from './global.actions'
 
 describe('global actions', () => {
@@ -79,13 +76,4 @@ describe('global actions', () => {
     }
     expect(setFluidStatus(fluidStatus)).toEqual(expectedAction)
   })
-
-  it('should set customPopup', () => {
-    const payload = mockCustomPopup
-    const expectedAction: GlobalActionTypes = {
-      type: SET_CUSTOM_POPUP,
-      payload,
-    }
-    expect(setCustomPopup(payload)).toEqual(expectedAction)
-  })
 })
diff --git a/src/store/global/global.actions.ts b/src/store/global/global.actions.ts
index 5abc17651f59e95b3e2fd815c80a18d934e6cdb6..77a9fda4ef0157c3e7e4d90de942a82214d31260 100644
--- a/src/store/global/global.actions.ts
+++ b/src/store/global/global.actions.ts
@@ -1,14 +1,12 @@
 import { FluidType } from 'enum/fluid.enum'
 import { ScreenType } from 'enum/screen.enum'
 import { FluidConnection, FluidStatus, TermsStatus } from 'models'
-import { CustomPopup } from 'models/customPopup.model'
 import { PartnersInfo } from 'models/partnersInfo.model'
 import { Notes } from 'models/releaseNotes.model'
 import { SgeStore } from 'models/sgeStore.model'
 import { defaultAction } from 'store'
 
 export const CHANGE_SCREEN_TYPE = 'CHANGE_SCREEN_TYPE'
-export const SET_CUSTOM_POPUP = 'SET_CUSTOM_POPUP'
 export const SET_FLUID_STATUS = 'SET_FLUID_STATUS'
 export const SET_PARTNERS_INFO = 'SET_PARTNERS_INFO'
 export const SET_SHOULD_REFRESH_CONSENT = 'SET_SHOULD_REFRESH_CONSENT'
@@ -78,10 +76,6 @@ interface ShowReleaseNotes {
   type: typeof SHOW_RELEASE_NOTES
   payload?: { show: boolean; notes: Notes[]; redirectLink?: string }
 }
-interface SetCustomPopup {
-  type: typeof SET_CUSTOM_POPUP
-  payload: CustomPopup
-}
 
 interface SetShouldRefreshConsent {
   type: typeof SET_SHOULD_REFRESH_CONSENT
@@ -178,13 +172,6 @@ export function setPartnersInfo(partnersInfo: PartnersInfo): SetPartnersInfo {
   }
 }
 
-export function setCustomPopup(customPopupModal: CustomPopup): SetCustomPopup {
-  return {
-    type: SET_CUSTOM_POPUP,
-    payload: customPopupModal,
-  }
-}
-
 export function setShouldRefreshConsent(
   shouldRefreshConsent: boolean
 ): SetShouldRefreshConsent {
@@ -211,7 +198,6 @@ export type GlobalActionTypes =
   | UpdatedFluidConnection
   | UpdateTermValidation
   | ShowReleaseNotes
-  | SetCustomPopup
   | SetShouldRefreshConsent
   | UpdateSGEConnect
   | SetPartnersInfo
diff --git a/src/store/global/global.reducer.spec.ts b/src/store/global/global.reducer.spec.ts
index accdd07d15c231ed76387f74970504f0c71447cb..b97675431307e3b08589a453d901050d830b00f8 100644
--- a/src/store/global/global.reducer.spec.ts
+++ b/src/store/global/global.reducer.spec.ts
@@ -5,13 +5,11 @@ import { DateTime } from 'luxon'
 import { FluidStatus } from 'models'
 import { defaultAction } from 'store'
 import { accountsData } from '../../../tests/__mocks__/accountsData.mock'
-import { mockCustomPopup } from '../../../tests/__mocks__/customPopup.mock'
 import { konnectorsData } from '../../../tests/__mocks__/konnectorsData.mock'
 import { mockInitialGlobalState } from '../../../tests/__mocks__/store'
 import { triggersData } from '../../../tests/__mocks__/triggersData.mock'
 import {
   CHANGE_SCREEN_TYPE,
-  SET_CUSTOM_POPUP,
   SET_FLUID_STATUS,
   TOGGLE_ANALYSIS_NOTIFICATION,
   TOGGLE_CHALLENGE_ACTION_NOTIFICATION,
@@ -212,17 +210,4 @@ describe('global reducer', () => {
     })
     expect(state).toEqual(mockInitialGlobalState)
   })
-
-  it('should handle SET_CUSTOM_POPUP with payload', () => {
-    const state = {
-      ...mockInitialGlobalState,
-      customPopupModal: mockCustomPopup,
-    }
-    expect(
-      globalReducer(mockInitialGlobalState, {
-        type: SET_CUSTOM_POPUP,
-        payload: mockCustomPopup,
-      }).customPopupModal
-    ).toBe(state.customPopupModal)
-  })
 })
diff --git a/src/store/global/global.reducer.ts b/src/store/global/global.reducer.ts
index a8281e5b6b8c48217aad109bf5bb7dbc4a4668ab..7736b81b29f6bba534254812fbc998440020df79 100644
--- a/src/store/global/global.reducer.ts
+++ b/src/store/global/global.reducer.ts
@@ -7,7 +7,6 @@ import { Reducer } from 'redux'
 import {
   CHANGE_SCREEN_TYPE,
   GlobalActionTypes,
-  SET_CUSTOM_POPUP,
   SET_FLUID_STATUS,
   SET_PARTNERS_INFO,
   SET_SHOULD_REFRESH_CONSENT,
@@ -109,12 +108,6 @@ const initialState: GlobalState = {
     },
   ],
   fluidTypes: [],
-  customPopupModal: {
-    popupEnabled: false,
-    title: '',
-    description: '',
-    endDate: '',
-  },
   partnersInfo: {
     egl_failure: false,
     enedis_failure: false,
@@ -195,9 +188,6 @@ export const globalReducer: Reducer<GlobalState, GlobalActionTypes> = (
     case SET_PARTNERS_INFO:
       return updateState({ partnersInfo: action.payload })
 
-    case SET_CUSTOM_POPUP:
-      return updateState({ customPopupModal: action.payload })
-
     case SET_SHOULD_REFRESH_CONSENT:
       return updateState({ shouldRefreshConsent: action.payload })
 
diff --git a/src/store/modal/modal.slice.spec.ts b/src/store/modal/modal.slice.spec.ts
index 86d3907091c70b75b779e23e38928ba0f3b08219..644eaffa2934c85ba2290160954034015ba22daa 100644
--- a/src/store/modal/modal.slice.spec.ts
+++ b/src/store/modal/modal.slice.spec.ts
@@ -1,10 +1,12 @@
 import { ModalState } from 'models'
+import { mockCustomPopup } from '../../../tests/__mocks__/customPopup.mock'
 import { mockInitialModalState } from '../../../tests/__mocks__/store'
 import {
   modalSlice,
   openConnectionModal,
   openFeedbackModal,
   openPartnersModal,
+  setCustomPopup,
 } from './modal.slice'
 
 describe('modal reducer', () => {
@@ -13,8 +15,8 @@ describe('modal reducer', () => {
     expect(initialState).toEqual(mockInitialModalState)
   })
 
-  describe('Feedback Modal', () => {
-    it('should handle openFeedbackModal with payload', () => {
+  describe('openFeedbackModal', () => {
+    it('should handle openFeedbackModal', () => {
       const state = modalSlice.reducer(
         mockInitialModalState,
         openFeedbackModal(true)
@@ -26,7 +28,7 @@ describe('modal reducer', () => {
     })
   })
 
-  describe('PartnersInfo', () => {
+  describe('openPartnersModal', () => {
     const partnersModalAllTrue = {
       egl: true,
       enedis: true,
@@ -90,4 +92,17 @@ describe('modal reducer', () => {
       })
     })
   })
+
+  describe('customPopup', () => {
+    it('should handle setCustomPopup', () => {
+      const state = modalSlice.reducer(
+        mockInitialModalState,
+        setCustomPopup(mockCustomPopup)
+      )
+      expect(state).toEqual({
+        ...mockInitialModalState,
+        customPopupModal: mockCustomPopup,
+      })
+    })
+  })
 })
diff --git a/src/store/modal/modal.slice.ts b/src/store/modal/modal.slice.ts
index e530d3fa425596caac13647151df51ae84889df9..8f4afd48cf616ef370e1bfc7f235bef4a666aca2 100644
--- a/src/store/modal/modal.slice.ts
+++ b/src/store/modal/modal.slice.ts
@@ -1,7 +1,13 @@
 import { PayloadAction, createSlice } from '@reduxjs/toolkit'
-import { ModalState } from 'models'
+import { CustomPopup, ModalState } from 'models'
 
 const initialState: ModalState = {
+  customPopupModal: {
+    popupEnabled: false,
+    title: '',
+    description: '',
+    endDate: '',
+  },
   isConnectionModalOpen: false,
   isFeedbacksOpen: false,
   partnersIssueModal: {
@@ -18,8 +24,12 @@ type OpenPartnersModalAction = PayloadAction<{
   enedis: boolean
   grdf: boolean
 }>
+type SetCustomPopup = PayloadAction<CustomPopup>
 
-export type ModalActionTypes = OpenFeedbackModalAction | OpenPartnersModalAction
+export type ModalActionTypes =
+  | OpenFeedbackModalAction
+  | OpenPartnersModalAction
+  | SetCustomPopup
 
 export const modalSlice = createSlice({
   name: 'modal',
@@ -34,8 +44,15 @@ export const modalSlice = createSlice({
     openConnectionModal: (state, action: OpenConnectionModalAction) => {
       state.isConnectionModalOpen = action.payload
     },
+    setCustomPopup: (state, action: SetCustomPopup) => {
+      state.customPopupModal = action.payload
+    },
   },
 })
 
-export const { openFeedbackModal, openPartnersModal, openConnectionModal } =
-  modalSlice.actions
+export const {
+  openFeedbackModal,
+  openPartnersModal,
+  setCustomPopup,
+  openConnectionModal,
+} = modalSlice.actions
diff --git a/tests/__mocks__/store.ts b/tests/__mocks__/store.ts
index 73304af29d27e82ea0b62a4781948c343951bdee..02fac12142e08ec8641245a055796d79c2fb189a 100644
--- a/tests/__mocks__/store.ts
+++ b/tests/__mocks__/store.ts
@@ -43,12 +43,6 @@ export const mockInitialGlobalState: GlobalState = {
     accepted: true,
     versionType: 'init',
   },
-  customPopupModal: {
-    popupEnabled: false,
-    title: '',
-    description: '',
-    endDate: '',
-  },
   partnersInfo: {
     egl_failure: false,
     enedis_failure: false,
@@ -283,6 +277,12 @@ export const mockInitialChartState: ChartState = {
 }
 
 export const mockInitialModalState: ModalState = {
+  customPopupModal: {
+    popupEnabled: false,
+    title: '',
+    description: '',
+    endDate: '',
+  },
   isConnectionModalOpen: false,
   isFeedbacksOpen: false,
   partnersIssueModal: {