Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.
A review arrives with a name and a star rating and nothing else. Matching it attaches the review to the job it came from, the contact who wrote it, and the employees who earned it — so a five-star review stops being an anonymous compliment and becomes something you can trace to a crew, a job, and a customer.Liftify does most of this for you: it scores likely jobs and contacts and puts them at the top of the screen with a confidence percentage. Your part is confirming the right one, or correcting it.
Go to Reviews in the left sidebar and look at the row for the review.
A review with nothing attached shows a dashed Match pill. If Liftify has suggestions waiting, the pill carries a count.
A review that is already matched shows the attached contact, job, and crew as pills, plus Edit matches.
Click either one. The Match Review screen opens, headed “Attach the job, contact, and employees behind this review”. The top of the screen repeats the review itself — Name, Review Date, Location, Rating, and the review text — so you can read it while you decide.
Everything happens on this single page. The Job, Contact, and Employee tabs each hold their own list of candidates, but your picks all collect in the Selected Matches row near the top and are written together when you click Save once.Nothing is saved as you click around. While your picks differ from what is stored, the page warns “You have unsaved changes. Choose Save to apply them to this review.” The Save button stays greyed out until something actually changes.
You will only see the tabs your permissions allow. If your account cannot see jobs, the Job tab is not there; the same goes for Employee. If only one tab applies to you, the page shows it without tabs at all.
Start here when the review came from a job you did — which is most of the time.The Job tab loads Liftify’s scored suggestions first, each with a % confidence bar, followed by a search seeded from the reviewer’s name. Search across “Customer, job, address, or crew member”, and narrow by Location. Click a card to select it.Picking a job does the rest of the work for you: the job’s customer becomes the contact and the job’s crew becomes the credited employees. Both appear in Selected Matches marked (from job). To take them off, remove the job.If the job does not exist in Liftify yet, click Create Job. That button needs a contact first — until you pick one, the page says “Creating a job needs a contact — select one on the Contact tab first.”
Use the Contact tab when there is no job behind the review, or when the job is wrong but you still know who wrote it.Scored contacts come first with their confidence percentage, then results from a search seeded with the reviewer’s name and the review’s location. Filter by Name and Location. Type at least a few characters to search.If the reviewer is not in Liftify yet, click Create Contact. The form opens with the reviewer’s name and the review’s location already filled in — reviews carry no email or phone number, so you add those yourself.
Picking a job overrules the Contact tab. The job’s own customer is always the contact on the review. If you change the contact to someone who does not own the selected job, the page tells you the two disagree.
The Employee tab lists everyone on the review’s location roster — no search needed. Anyone named in the review text floats to the top. Filter with Search employees….Unlike the other two tabs you can pick more than one, and you can credit employees whether or not a job is attached. This is how a “Dave was fantastic” review gets attributed to Dave even though the work order was booked under someone else.Crew that came from a matched job are already credited and shown as (from job) — you do not need to tick them again here.
Click Save in the top-right. Everything is written at once: the job, the contact, and the employees. If any part of it fails, none of it is saved. You land back where you came from — the reviews list, or the task you were working from.
The same screen now handles tasks that didn’t come from a review. Open the task,
click Match in its Details sidebar (or Edit Matches in the
Actions menu), and you get Match Ticket — “Attach the job, contact, and
employees behind this ticket” — with the task’s number, date, location, status
and its own text at the top instead of a review.Two differences. The Contact tab leads, because a task raised by hand is
usually filed against a person. And there are no scored suggestions with
confidence percentages: nothing scores a task the way it scores a review, so
both lists open on a search seeded from the task’s own words. Everything else —
the tabs, Selected Matches, the single Save — works exactly as above.A task that did come from a review is matched through that review, so
Match takes you to the review’s screen. Match it once and both pick up the
result.
Matching links the review to the customer, job or employee it came from, so the
review appears alongside those records rather than standing on its own.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Liftify Help","colors":{"primary":"#3767AA","light":"#98B9DC","dark":"#274C80"},"logo":{"light":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-light.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=6f9fdda7d91dac01bd6cb5e118f2809a","dark":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-dark.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=b2a6c1d6603afcbb131adae55ed34f20"},"favicon":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/favicon.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=9a57f712061384b17c22dfd5b7ab57f4","navbar":{"links":[{"href":"mailto:support@liftify.com","label":"Contact support"}]},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"liftify","hasAudioNarration":false,"actualSubdomain":"liftify","customDomains":["help.liftify.com"],"gitSource":{"type":"github","owner":"liftify-dev","repo":"liftify-knowledge-base","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad625e40e9fddb338e069f9","collectionId":"940b0bdc-4f48-4498-8feb-200841fa7d20","liveDeploymentHistoryId":"6ad625e40e9fddb338e069f9","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad625e40e9fddb338e069f9","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Getting started","count":14},{"language":"default","tag":"Campaigns","count":10},{"language":"default","tag":"Admin","count":8},{"language":"default","tag":"Reviews","count":8},{"language":"default","tag":"Inbox","count":4},{"language":"default","tag":"Surveys","count":3},{"language":"default","tag":"Tasks","count":2},{"language":"default","tag":"What's new","count":1},{"language":"default","tag":"Contacts","count":1},{"language":"default","tag":"QR codes","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"support-form.css","content":".lfy-support-overlay{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;background:rgba(23,48,87,.45);z-index:9999;overflow-y:auto}.lfy-support-overlay.lfy-open{display:flex}.lfy-support-modal{position:relative;width:100%;max-width:560px;background:#fff;color:#1c0f13;border-radius:12px;box-shadow:0 24px 64px -16px rgba(23,48,87,.4);padding:28px;font-size:15px}.lfy-support-modal h2{margin:0 0 4px;font-size:22px}.lfy-support-sub{margin:0 0 14px;color:#6a6a6a}.lfy-support-note{background:#eaf1f8;border-radius:8px;padding:10px 14px;margin:0 0 18px}.lfy-support-note a{color:#3767aa;font-weight:600}.lfy-support-close{position:absolute;top:16px;right:18px;border:0;background:0 0;font-size:26px;line-height:1;color:#6a6a6a;cursor:pointer}.lfy-support-form label{display:block;font-weight:600;margin-bottom:14px}.lfy-support-row{display:flex;gap:14px}.lfy-support-row label{flex:1}.lfy-support-form input,.lfy-support-form textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;font:inherit;font-weight:400;color:inherit;background:#fff;border:1px solid #e2e2e8;border-radius:8px}.lfy-support-form input:focus,.lfy-support-form textarea:focus{outline:2px solid #3767aa;outline-offset:-1px}.lfy-support-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.lfy-support-status{flex:1;font-size:13px;color:#6a6a6a}.lfy-support-status.lfy-ok{color:#2e7d5b}.lfy-support-status.lfy-err{color:#a6462f}.lfy-support-send{border:0;border-radius:8px;background:#3767aa;color:#fff;font:inherit;font-weight:600;padding:10px 20px;cursor:pointer}.lfy-support-send:hover{background:#274c80}.lfy-support-send:disabled{opacity:.6;cursor:default}html.dark .lfy-support-modal{background:#171f27;color:#e6ebf0}html.dark .lfy-support-close,html.dark .lfy-support-status,html.dark .lfy-support-sub{color:#9daab6}html.dark .lfy-support-note{background:#163040}html.dark .lfy-support-note a{color:#98b9dc}html.dark .lfy-support-form input,html.dark .lfy-support-form textarea{background:#10161c;border-color:#364552}"}],"page":{"pagePath":"reviews/match-a-review-to-a-customer","slug":"/reviews/match-a-review-to-a-customer","pageMetadata":{"title":"Match a review to a job, contact, or employee","description":"Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.","source_paths":["app/views/client_portal/review_matches/**","app/controllers/client_portal/review_matches_controller.rb","app/components/client_portal/review_matches/**","app/components/client_portal/reviews/attribution_row_component.*","app/services/client_portal/review_match_committer.rb","app/services/client_portal/review_match_subject.rb","app/services/client_portal/ticket_match_committer.rb","app/services/client_portal/ticket_match_subject.rb"],"human_owned":false,"href":"/reviews/match-a-review-to-a-customer"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={em:`em`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`A review arrives with a name and a star rating and nothing else. Matching it attaches the review to the job it came from, the contact who wrote it, and the employees who earned it — so a five-star review stops being an anonymous compliment and becomes something you can trace to a crew, a job, and a customer.`}),`\n`,_jsx(_components.p,{children:`Liftify does most of this for you: it scores likely jobs and contacts and puts them at the top of the screen with a confidence percentage. Your part is confirming the right one, or correcting it.`}),`\n`,_jsx(Heading,{level:`2`,id:`open-the-match-screen`,children:`Open the match screen`}),`\n`,_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Reviews`}),` in the left sidebar and look at the row for the review.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A review with nothing attached shows a dashed `,_jsx(_components.strong,{children:`Match`}),` pill. If Liftify has suggestions waiting, the pill carries a count.`]}),`\n`,_jsxs(_components.li,{children:[`A review that is already matched shows the attached contact, job, and crew as pills, plus `,_jsx(_components.strong,{children:`Edit matches`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Click either one. The `,_jsx(_components.strong,{children:`Match Review`}),` screen opens, headed “Attach the job, contact, and employees behind this review”. The top of the screen repeats the review itself — `,_jsx(_components.strong,{children:`Name`}),`, `,_jsx(_components.strong,{children:`Review Date`}),`, `,_jsx(_components.strong,{children:`Location`}),`, `,_jsx(_components.strong,{children:`Rating`}),`, and the review text — so you can read it while you decide.`]}),`\n`,_jsx(Heading,{level:`2`,id:`one-page-three-tabs-one-save`,children:`One page, three tabs, one Save`}),`\n`,_jsxs(_components.p,{children:[`Everything happens on this single page. The `,_jsx(_components.strong,{children:`Job`}),`, `,_jsx(_components.strong,{children:`Contact`}),`, and `,_jsx(_components.strong,{children:`Employee`}),` tabs each hold their own list of candidates, but your picks all collect in the `,_jsx(_components.strong,{children:`Selected Matches`}),` row near the top and are written together when you click `,_jsx(_components.strong,{children:`Save`}),` once.`]}),`\n`,_jsxs(_components.p,{children:[`Nothing is saved as you click around. While your picks differ from what is stored, the page warns “You have unsaved changes. Choose Save to apply them to this review.” The `,_jsx(_components.strong,{children:`Save`}),` button stays greyed out until something actually changes.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`You will only see the tabs your permissions allow. If your account cannot see jobs, the `,_jsx(_components.strong,{children:`Job`}),` tab is not there; the same goes for `,_jsx(_components.strong,{children:`Employee`}),`. If only one tab applies to you, the page shows it without tabs at all.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`match-a-job`,children:`Match a job`}),`\n`,_jsx(_components.p,{children:`Start here when the review came from a job you did — which is most of the time.`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Job`}),` tab loads Liftify’s scored suggestions first, each with a `,_jsx(_components.strong,{children:`% confidence`}),` bar, followed by a search seeded from the reviewer’s name. Search across “Customer, job, address, or crew member”, and narrow by `,_jsx(_components.strong,{children:`Location`}),`. Click a card to select it.`]}),`\n`,_jsxs(_components.p,{children:[`Picking a job does the rest of the work for you: the job’s customer becomes the contact and the job’s crew becomes the credited employees. Both appear in `,_jsx(_components.strong,{children:`Selected Matches`}),` marked `,_jsx(_components.strong,{children:`(from job)`}),`. To take them off, remove the job.`]}),`\n`,_jsxs(_components.p,{children:[`If the job does not exist in Liftify yet, click `,_jsx(_components.strong,{children:`Create Job`}),`. That button needs a contact first — until you pick one, the page says “Creating a job needs a contact — select one on the Contact tab first.”`]}),`\n`,_jsx(Heading,{level:`2`,id:`match-a-contact`,children:`Match a contact`}),`\n`,_jsxs(_components.p,{children:[`Use the `,_jsx(_components.strong,{children:`Contact`}),` tab when there is no job behind the review, or when the job is wrong but you still know who wrote it.`]}),`\n`,_jsxs(_components.p,{children:[`Scored contacts come first with their confidence percentage, then results from a search seeded with the reviewer’s name and the review’s location. Filter by `,_jsx(_components.strong,{children:`Name`}),` and `,_jsx(_components.strong,{children:`Location`}),`. Type at least a few characters to search.`]}),`\n`,_jsxs(_components.p,{children:[`If the reviewer is not in Liftify yet, click `,_jsx(_components.strong,{children:`Create Contact`}),`. The form opens with the reviewer’s name and the review’s location already filled in — reviews carry no email or phone number, so you add those yourself.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Picking a job overrules the `,_jsx(_components.strong,{children:`Contact`}),` tab. The job’s own customer is always the contact on the review. If you change the contact to someone who does not own the selected job, the page tells you the two disagree.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`credit-employees`,children:`Credit employees`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Employee`}),` tab lists everyone on the review’s location roster — no search needed. Anyone named in the review text floats to the top. Filter with `,_jsx(_components.strong,{children:`Search employees…`}),`.`]}),`\n`,_jsx(_components.p,{children:`Unlike the other two tabs you can pick more than one, and you can credit employees whether or not a job is attached. This is how a “Dave was fantastic” review gets attributed to Dave even though the work order was booked under someone else.`}),`\n`,_jsxs(_components.p,{children:[`Crew that came from a matched job are already credited and shown as `,_jsx(_components.strong,{children:`(from job)`}),` — you do not need to tick them again here.`]}),`\n`,_jsx(Heading,{level:`2`,id:`save`,children:`Save`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),` in the top-right. Everything is written at once: the job, the contact, and the employees. If any part of it fails, none of it is saved. You land back where you came from — the reviews list, or the task you were working from.`]}),`\n`,_jsx(Heading,{level:`2`,id:`matching-a-task`,children:`Matching a task`}),`\n`,_jsxs(_components.p,{children:[`The same screen now handles tasks that didn’t come from a review. Open the task,\nclick `,_jsx(_components.strong,{children:`Match`}),` in its `,_jsx(_components.strong,{children:`Details`}),` sidebar (or `,_jsx(_components.strong,{children:`Edit Matches`}),` in the\n`,_jsx(_components.strong,{children:`Actions`}),` menu), and you get `,_jsx(_components.strong,{children:`Match Ticket`}),` — “Attach the job, contact, and\nemployees behind this ticket” — with the task’s number, date, location, status\nand its own text at the top instead of a review.`]}),`\n`,_jsxs(_components.p,{children:[`Two differences. The `,_jsx(_components.strong,{children:`Contact`}),` tab leads, because a task raised by hand is\nusually filed against a person. And there are no scored suggestions with\nconfidence percentages: nothing scores a task the way it scores a review, so\nboth lists open on a search seeded from the task’s own words. Everything else —\nthe tabs, `,_jsx(_components.strong,{children:`Selected Matches`}),`, the single `,_jsx(_components.strong,{children:`Save`}),` — works exactly as above.`]}),`\n`,_jsxs(_components.p,{children:[`A task that `,_jsx(_components.em,{children:`did`}),` come from a review is matched through that review, so\n`,_jsx(_components.strong,{children:`Match`}),` takes you to the review’s screen. Match it once and both pick up the\nresult.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-matching-changes`,children:`What matching changes`}),`\n`,_jsx(_components.p,{children:`Matching links the review to the customer, job or employee it came from, so the\nreview appears alongside those records rather than standing on its own.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Match a review to a job, contact, or employee","description":"Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.","source_paths":["app/views/client_portal/review_matches/**","app/controllers/client_portal/review_matches_controller.rb","app/components/client_portal/review_matches/**","app/components/client_portal/reviews/attribution_row_component.*","app/services/client_portal/review_match_committer.rb","app/services/client_portal/review_match_subject.rb","app/services/client_portal/ticket_match_committer.rb","app/services/client_portal/ticket_match_subject.rb"],"human_owned":false,"href":"/reviews/match-a-review-to-a-customer"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Open the match screen","slug":"open-the-match-screen","depth":2,"children":[]},{"title":"One page, three tabs, one Save","slug":"one-page-three-tabs-one-save","depth":2,"children":[]},{"title":"Match a job","slug":"match-a-job","depth":2,"children":[]},{"title":"Match a contact","slug":"match-a-contact","depth":2,"children":[]},{"title":"Credit employees","slug":"credit-employees","depth":2,"children":[]},{"title":"Save","slug":"save","depth":2,"children":[]},{"title":"Matching a task","slug":"matching-a-task","depth":2,"children":[]},{"title":"What matching changes","slug":"what-matching-changes","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/liftify/3681c179ab9acab8/hubspot-chat.js","/_mintlify/custom/liftify/ebbc8d30e581424d/support-form.js"],"subdomain":"liftify","siteName":"Liftify Help","title":"Match a review to a job, contact, or employee - Liftify Help","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-27T20:30:58.302Z","originalFileLocation":"reviews/match-a-review-to-a-customer.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Liftify Help\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Match a review to a job, contact, or employee - Liftify Help\">\u003cmeta data-mint-head property=\"og:description\" content=\"Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Liftify Help\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.liftify.com/reviews/match-a-review-to-a-customer\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://liftify.mintlify.app/_mintlify/api/og/v2?division=Reviews\u0026amp;title=Match+a+review+to+a+job%2C+contact%2C+or+employee\u0026amp;description=Attach+a+review+to+the+job%2C+contact%2C+and+employees+behind+it+so+you+know+who+wrote+it+and+who+earned+it.\u0026amp;theme=1bd7f51ba2fc6c083c5955f0\u0026amp;signature=9e6dbe596666b3e59f9d1e026f1cdaa403d82d15ff26acdbcb73ede13be973c0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Match a review to a job, contact, or employee - Liftify Help\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://liftify.mintlify.app/_mintlify/api/og/v2?division=Reviews\u0026amp;title=Match+a+review+to+a+job%2C+contact%2C+or+employee\u0026amp;description=Attach+a+review+to+the+job%2C+contact%2C+and+employees+behind+it+so+you+know+who+wrote+it+and+who+earned+it.\u0026amp;theme=1bd7f51ba2fc6c083c5955f0\u0026amp;signature=9e6dbe596666b3e59f9d1e026f1cdaa403d82d15ff26acdbcb73ede13be973c0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Liftify Help\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3767AA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.liftify.com/reviews/match-a-review-to-a-customer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reviews/match-a-review-to-a-customer.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.liftify.com/#organization\",\"name\":\"Liftify Help\",\"url\":\"https://help.liftify.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-light.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=6f9fdda7d91dac01bd6cb5e118f2809a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://help.liftify.com#website\",\"name\":\"Liftify Help\",\"url\":\"https://help.liftify.com\",\"publisher\":{\"@id\":\"https://help.liftify.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.liftify.com/reviews/match-a-review-to-a-customer#webpage\",\"url\":\"https://help.liftify.com/reviews/match-a-review-to-a-customer\",\"name\":\"Match a review to a job, contact, or employee\",\"description\":\"Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.\",\"dateModified\":\"2026-08-27T20:30:58.302Z\",\"isPartOf\":{\"@id\":\"https://help.liftify.com#website\"},\"breadcrumb\":{\"@id\":\"https://help.liftify.com/reviews/match-a-review-to-a-customer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.liftify.com/reviews/match-a-review-to-a-customer#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reviews\",\"item\":\"https://help.liftify.com/reviews/find-and-filter-reviews\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Match a review to a job, contact, or employee\",\"item\":\"https://help.liftify.com/reviews/match-a-review-to-a-customer\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://help.liftify.com/reviews/match-a-review-to-a-customer#article\",\"headline\":\"Match a review to a job, contact, or employee\",\"name\":\"Match a review to a job, contact, or employee\",\"description\":\"Attach a review to the job, contact, and employees behind it so you know who wrote it and who earned it.\",\"url\":\"https://help.liftify.com/reviews/match-a-review-to-a-customer\",\"mainEntityOfPage\":{\"@id\":\"https://help.liftify.com/reviews/match-a-review-to-a-customer#webpage\"},\"dateModified\":\"2026-08-27T20:30:58.302Z\",\"publisher\":{\"@id\":\"https://help.liftify.com/#organization\"},\"isPartOf\":{\"@id\":\"https://help.liftify.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Liftify Help\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Liftify Help","nav":{"global":null,"pages":[{"group":"Getting started","pages":[{"title":"Liftify Help","href":"/index"},{"title":"Sign in with a magic link","href":"/getting-started/sign-in-with-a-magic-link"},{"title":"Sign in with Google or Microsoft","href":"/getting-started/sign-in-with-sso"},{"title":"Contact Liftify support","href":"/getting-started/contact-liftify-support"},{"title":"Set up your locations","href":"/getting-started/set-up-your-locations"},{"title":"Connect your Google Business Profile","href":"/getting-started/connect-google-business-profile"},{"title":"Map your locations to their listings","href":"/getting-started/map-locations-to-listings"},{"title":"Connect Facebook","href":"/getting-started/connect-facebook"},{"title":"Reconnect, re-sync, or disconnect an account","href":"/getting-started/reconnect-or-disconnect"},{"title":"Complete your legal info for text messaging","href":"/getting-started/complete-legal-info-for-sms"},{"title":"Update your profile","href":"/getting-started/update-your-profile"},{"title":"Switch between accounts","href":"/getting-started/switch-between-accounts"},{"title":"Set your company branding","href":"/getting-started/set-your-company-branding"},{"title":"Why your locations are inactive","href":"/getting-started/why-your-locations-are-inactive"}]},{"group":"Campaigns","pages":[{"title":"Campaign types explained","href":"/campaigns/campaign-types-explained"},{"title":"Start a campaign from a template","href":"/campaigns/start-from-a-template"},{"title":"Build a review-request campaign","href":"/campaigns/build-a-review-request-campaign"},{"title":"Add and edit touchpoints","href":"/campaigns/add-and-edit-touchpoints"},{"title":"Entry and exit rules","href":"/campaigns/entry-and-exit-rules"},{"title":"Sending days and times","href":"/campaigns/sending-days-and-times"},{"title":"Account-wide campaign defaults","href":"/campaigns/account-campaign-defaults"},{"title":"Launch, pause, and duplicate a campaign","href":"/campaigns/launch-pause-and-duplicate"},{"title":"Choose who handles replies to a campaign","href":"/campaigns/route-campaign-replies"},{"title":"Use the custom HTML email editor","href":"/campaigns/use-the-custom-html-email-editor"}]},{"group":"Contacts","pages":[{"title":"Add a contact and enroll them in a campaign","href":"/contacts/add-a-contact-and-enroll"}]},{"group":"Reviews","pages":[{"title":"Find and filter reviews","href":"/reviews/find-and-filter-reviews"},{"title":"Schedule a review report by email","href":"/reviews/schedule-a-review-report"},{"title":"Reply to a review","href":"/reviews/reply-to-a-review"},{"title":"Use AI to draft review replies","href":"/reviews/ai-review-replies"},{"title":"Tune the AI response prompt","href":"/reviews/tune-the-ai-response-prompt"},{"title":"Save and reuse response templates","description":"Write a reply once, save it as a template, and drop it into a review reply with the customer's details already filled in.","href":"/reviews/save-and-reuse-response-templates"},{"title":"Match a review to a job, contact, or employee","href":"/reviews/match-a-review-to-a-customer"},{"title":"Report a review that breaks Google's policies","description":"Flag a review that breaks Google's content policy, report it to Google, and track it through to removal.","href":"/reviews/report-a-policy-violating-review"}]},{"group":"Inbox","pages":[{"title":"Handle an inbound message","href":"/inbox/handle-an-inbound-message"},{"title":"Add an internal note to a conversation","href":"/inbox/add-an-internal-note"},{"title":"Save an Inbox filter as a view","href":"/inbox/save-an-inbox-filter-view"},{"title":"Assign conversations automatically","href":"/inbox/auto-assign-conversations"}]},{"group":"Surveys","pages":[{"title":"Build and publish a survey","href":"/surveys/build-and-publish-a-survey"},{"title":"Read survey responses","href":"/surveys/read-survey-responses"},{"title":"Translate a survey","href":"/surveys/translate-a-survey"}]},{"group":"Tasks","pages":[{"title":"Work a task","href":"/tickets/work-a-ticket"},{"title":"Create tasks automatically","href":"/tickets/create-tickets-automatically"}]},{"group":"QR codes","pages":[{"title":"Create a QR code","href":"/qr-codes/create-a-qr-code"}]},{"group":"Admin","pages":[{"title":"Invite users and assign roles","href":"/admin/invite-users-and-assign-roles"},{"title":"Merge duplicate employees","href":"/admin/merge-duplicate-employees"},{"title":"Set your notification rules","href":"/admin/set-your-notification-rules"},{"title":"Set default notifications for new users","href":"/admin/set-default-notifications-for-new-users"},{"title":"Connect an external system","href":"/admin/connect-an-external-system"},{"title":"Get your API key","href":"/admin/get-your-api-key"},{"title":"Bulk import users from a CSV","href":"/admin/bulk-import-users"},{"title":"External aliases","href":"/admin/external-aliases"}]},{"group":"What's new","pages":[{"title":"What's new in Liftify","href":"/changelog"}]}]},"title":"Match a review to a job, contact, or employee - Liftify Help","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":[],"chunks":[]}